Replace Pioneer

Replace Pioneer(替換先鋒),是Mind Pioneer出品的一款共享軟體。是一款與眾不同的專業文本批量替換和處理軟體。

基本介紹

  • 中文名:替換先鋒
  • 外文名:Replace Pioneer
  • 出品:Mind Pioneer
  • 類型:一款共享軟體
軟體介紹,不足之處,使用技巧,

軟體介紹

它的強大可以簡單概括為:給定任何純文本檔案二進制檔案甚至網頁地址,只要你能描述清楚轉換規則,就能得到任何需要的結果檔案。
雖然Replace Pioneer主要是一個文本替換工具,但是它衍生出來的功能幾乎覆蓋了純文本處理的任何一個角落,而且在任一領域,它都有獨到之處:
* 作為批量文本替換軟體
--支持最基本的多行文本,多檔案,正則表達式替換
--可在指定特徵和序號的段/行的範圍內,替換指定特徵和序號的字/詞/行/段;
--可自定義段/詞的分隔設定
--對搜尋到的文字可以進行任意切割重組,加序號,或運用內置的或自定義的函式;
--對搜尋到的的文字可以進行添加自定義過濾條件或運行自定義代碼;
--支持在檔案首尾加文字;
--支持把多步替換記錄為腳本並重用;
--支持以DOS命令或網頁作為輸入文本進行操作;
--支持由以上功能衍生出來的文本排序/提取/計算/統計/格式轉換/翻譯/HTML和TXT互轉/進制轉換器/IP轉換成國家等等功能。
--支持對二進制檔案位元組進行搜尋替換和運用函式
* 作為批量文本分割合併工具
--支持按指定可變行數/字數/自定義段分割;
--支持按自定義列橫向分割檔案;
--支持按檔案首行等靈活規則命名分割檔案;
--支持按列橫向合併檔案;
--支持分割和合併的同時進行文本替換和處理。
* 作為批量文本編碼轉換工具
--可支持包括unicode在內的任意70多種編碼方式之間的批量轉換
--支持獨特的編碼檢測功能可以有效地幫助用戶確定檔案的編碼方式。
* 作為批量檔案重命名工具
--支持按檔案名稱,時間,目錄等進行任意排序;
--支持檔案名稱任意切割和重組;
--支持檔案名稱加長度可控的序號;
--支持對檔案名稱進行正則替換,甚至運行函式;
--支持用檔案首行,html檔案的標題,檔案時間,目錄等等對檔案進行重命名。
* 作為批量下載工具
--支持對批量網頁進行下載地址解析和名字過濾;
--支持第二級可過濾網頁連結解析
--支持保存檔案時直接進行靈活的重命名;
--檔案可以下載保存為html,text(文本),binary(二進制),甚至Links(連結)。
在不犧牲強大功能的前提下,它努力做到了簡單,靈活和專業的高度統一。你甚至可以把以上所有功能同時設定,處理文本一氣呵成。

不足之處

1. 為保持界面的高度統一和簡潔,很多衍生出來的高級功能對初學者不是很直觀易懂,為彌補這一不足,系統提供了100個以上的支持不同功能的模板,而且在主站上有數百個不同的例子供參考。正如初學陀螺的人可能很難很好地駕馭它,等到能靈活控制後就會為它的簡單和完美而陶醉。
2. 高度靈活和面面俱到的功能不可避免地帶來了速度上的延遲,就像航空母艦不可能以F1賽車的速度啟航。新提供的批量Fast Replace功能彌補了這一不足。
3. 目前只有英文版,但由於對多種編碼的支持,處理中文文檔完全沒有問題。然而很多人可能會對英文版望而卻步,其實很簡單,這其實是一個熟悉計算機英語基本辭彙的很好的機會。

使用技巧

* 批量替換
如何定義多個替換規則,對多個文本進行批量替換,比如,把很多檔案里的a1,a2,a3,...分別替換成b1,b2,b3,...的詳細步驟:
1. 打開Tools->Batch Runner選單
2. 把檔案從Windows 檔案管理器拖拽到Batch Runner選單中
3. 點擊Fast Replace,打開Fast Replace視窗
4. 點擊Add鍵,在Search輸入a1,在Replace輸入b1,點擊OK
5. 重複第4步,直到所有的替換規則a2,b2;a3,b3...都加入
6. 點擊export就可以把規則輸出到一個檔案,下次點擊import可以把規則導入
7. 點擊start即可。
注意:
1. 要提前備份
2. 如果替換的文字有特殊字元比如$.\等等,要把Regular Exp選項去掉
* 批量轉換檔案編碼方式
ansi(gbk)->UTF8為例來說明。
用Replace Pioneer批量把ansi(gbk)格式的文本檔案轉換為UTF8的方法如下:
第一步:選檔案
1.打開Tools->Batch Runner選單
2.把待處理檔案從Windows拖拽到Batch Runner視窗中
第二步:變換編碼
1.點擊Change Encode按鈕
2.點擊input encoding,設定成CN->gbk
3.點擊output encoding,設定成utf-8
4.點擊start,完成
如何用Replace Pioneer檢測出一個檔案是什麼編碼:
1. 選擇Tools->Encoding Detection
2. 在"File to Check"里輸入檔案名稱,點擊Start
3. 檔案就會被用70多種編碼方式顯示出來
哪一個顯示正確就可能是這種編碼,當然,某個檔案可能在多種編碼方式下都顯示正確。
* 自動分割文本檔案
Replace Pioneer可以按章/節/回,等等任意自定義的文字進行分割。
如果需要,也可以按行數和字數進行分割。
按章/節/回分割的具體步驟:
1. ctrl-o打開待分割的txt檔案
2. 選擇File->Save As->Split by Paragraph選單:
* 輸出格式設定
在Split Naming輸入${BASE}.###.${EXT}
* 怎樣分段
把Para Start選項選成Other,並在右邊輸入"^\s*第.*?[章節回]"(不帶雙引號)
把Para End選為None,表示只按照para start的內容分段。
* 寫入檔案
點擊Next,並輸入結果檔案名稱比如A.TXT,那么結果檔案就被寫成A.001.TXT, A.002.TXT, ...
更多用法:
1. 要想加入其他類型比如"篇",只要把"篇"加入上面Para Start的方括弧,變成"^\s*第.*?[章節回篇]"(不帶雙引號)
2. 如果每章的格式是1.xxx 2.xxx ...,只要把Para Start變成"^\s*\d+\."(不帶雙引號)
3. 如果每章的格式是 一、xxx 二、xxx ...,只要把Para Start變成"^\s*[一二三四五六七八九零〇百千]+、"(不帶雙引號)
4. 要想按行數/字數分段,就用File->Save As->Split by bytes/lines選單。
* 檔案重命名
用Replace Pioneer實現66 種批量檔案重命名的方法
詳細步驟:
1. 安裝並打開 "Replace Pioneer" ,打開 "Tools->Batch Runner" 選單。
2. 把所有Window檔案拖拽到"Batch Runner"視窗中。
3. 把"Set output filename"選項改為用戶需要的重命名公式。
4. 點擊File Rename按鈕完成。
編號
原檔案名稱實例
新檔案名稱實例
公式
1
change extension
file.txt
file.new
${BASE}.new
2
insert before extension
file.txt
file.new.txt
${BASE}.new.${EXT}
3
add new extension
file
file.new
${FILENAME}.new
檔案名稱重新組織
原檔案名稱實例
新檔案名稱實例
公式
4
take first 3 chars
abc1234.txt
abc.txt
${BASE}{1,3}.${EXT}
5
take last 3 chars
1234abc.txt
abc.txt
${BASE}{-3,-1}.${EXT}
6
take 3 ~ 6 chars
ab1234c.txt
1234.txt
${BASE}{3,6}.${EXT}
7
take 1 ~ -3(3rd from end) chars
abcde12.txt
abcde.txt
${BASE}{1,-3}.${EXT}
8
take 3 ~ -3(3rd from end) chars
ab1234cd.txt
1234.txt
${BASE}{3,-3}.${EXT}
9
first 3 and from the 8th char on
abc1234def.txt
abcdef.txt
${BASE}{1,3}${BASE}{8,-1}.${EXT}
10
exchange 1,2 and 3,4 chars
abcd.txt
cdab.txt
${BASE}{3,4}_${BASE}{1,2}.${EXT}
檔案名稱加序號
原檔案名稱實例
新檔案名稱實例
公式
11
sequence number of 1,2,3 ...
any.txt
N.txt(N=1,2, ...)
#.${EXT}
12
sequence number of 0001,0002,0003 ...
any.txt
N.txt(N=0001,0002,...)
####.${EXT}
13
sequence number of 3,4,5,...
any.txt
N.txt(N=3,4, ...)
#{3}.${EXT}
14
sequence number of 5,7,9,...(start=5,step=2)
any.txt
N.txt(N=5,7,9,...)
#{5,2}.${EXT}
15
sequence number of 100,99,98,...(start=100,step=-1)
any.txt
N.txt(N=100,99,98,...)
###{100,-1}.${EXT}
16
add sequence number 001,002,... before filename
file.txt
N_file.txt(N=001,002,...)
###_${FILENAME}
17
append sequence number 001,002,... after filename
file.txt
file_N.txt(N=001,002,...)
${BASE}_###.${EXT}
18
change the extension name to sequence 001,002,...
file.txt
file.N(N=001,002,...)
${BASE}.###
19
append sequence aaa,aab,...zzz to filename
file.txt
file.txt.X(X=aaa,aab,aac,...zzz)
${FILENAME}.@@@
20
create sequence number of 01_01, 01_02, ... 01_10, 02_01, 02_02,... 02_10, 03_01,03_02,...
any.txt
M_N.txt(M:01,02,03,...,N:01~10)
#<calc(($&-1)/10+1,"02")>_#<calc(($&-1)%10+1,"02")>${EXT}
字元串替換和正則表達式
原檔案名稱實例
新檔案名稱實例
公式
21
replace 'old' with 'new' in name
old123.txt
new123.txt
${FILENAME}{replace,'old','new'}
22
remove any digit in filename
abc123def456.txt
abcdef.txt
${BASE}{replace,'\d+',''}.${EXT}
23
remove digits that as surfix
abc123def456.txt
abc123def.txt
${BASE}{replace,'\d+$',''}.${EXT}
24
remove digits that as prefix
123abc456.txt
abc456.txt
${BASE}{replace,'^\d+',''}.${EXT}
25
add parenthesis for any number
abc123def456.txt
abc(123)def(456).txt
${BASE}{replace,'(\d+)','(\1)'}.${EXT}
26
remove all parenthesis in filename
abc(123).txt
abc123.txt
${BASE}{replace,'\((.*?)\)','\1'}.${EXT}
27
change all parenthesis to bracket
abc(123).txt
abc[123].txt
${BASE}{replace,'\((.*?)\)','[\1]'}.${EXT}
28
exchange parts before and after dash
abc-def.txt
def-abc.txt
${BASE}{replace,'(.*?)-(.*)','\2-\1'}.${EXT}
29
change dash to parenthesis
abc-def.txt
abc(def).txt
${BASE}{replace,'(.*?)-(.*)','\1(\2)'}.${EXT}
30
change all spaces to underscore
abc def.txt
abc_def.txt
${BASE}{replace,'\s+','_'}.${EXT}
根據檔案內容來替換檔案名稱
原檔案名稱實例
新檔案名稱實例
公式
31
change filename to the first word of file content
any.txt
firstword
${FILENAME}{file_content,'(\S+)'}
32
change filename to the first 60 chars of 1st line of file content
any.txt
firstline(60 letter maximum)
${FIRSTLINE}{1,60}
33
change filename to the first 60 chars of 2nd line of file content
any.txt
secondline(60 letter maximum)
${FILENAME}{file_line,2}{1,60}
34
change filename to the title of html file
any.html
htmltitle.html
${FILENAME}{html_title}{1,20}.html
35
change filename to the content between <strong> and </strong>
any.html
strongcontent.html
###_${FILENAME}{file_content,'<strong>(.*?)<\/strong>',undef,10000}.${EXT}
36
change filename to the content followed by phase_name inside file
any.html
phase_name_content.html
${FILENAME}{file_content,'phase_name\s*"(.*?)"'}.${EXT}
根據檔案時間替換檔案名稱
原檔案名稱實例
新檔案名稱實例
公式
37
change filename to the date time of file
any.jpg
2010-07-01_18:19:20.jpg
${FILENAME}{file_time, '%Y-%m-%d_%H:%M:%S'}.${EXT}
38
change filename to the date of file plus sequence number
any.jpg
2010-07-01(N).jpg(N=01,02,03,...)
${FILENAME}{file_time, '%Y-%m-%d'}(##).${EXT}
39
append file date to original filename
abc.jpg
abc_2010-07-01.jpg
${BASE}_${FILENAME}{file_time, '%Y-%m-%d'}.${EXT}
根據mp3檔案的內容重命名
原檔案名稱實例
新檔案名稱實例
公式
40
rename mp3 files to artist-album-track format
abc.mp3
artist-album-track.mp3
${FILENAME}{mp3_info,'%R-%A-%T'}.mp3
41
rename mp3 files to artist-album format with sequence number
abc.mp3
artist-album_N.mp3(N=001,002,...)
${FILENAME}{mp3_info,'%R-%A'}_###.mp3
42
append artist and album after original filename
abc.mp3
abc_arrist-album.mp3
${BASE}_${FILENAME}{mp3_info,'%R-%A'}.mp3
根據圖片檔案的內容重命名
原檔案名稱實例
新檔案名稱實例
公式
43
rename jpg files by adding sequence and picture width, height
abc.jpg
N_W_H.jpg(N=001,002,... W=width, H=height)
###_${FILENAME}<img_info($&,'%W_%H')>.${EXT}
44
rename gif files by appending width and height
abc.gif
abc_WxH.gif(W=width,H=height)
${BASE}_${FILENAME}<img_info($&,'%Wx%H')>.${EXT}
根據索引檔案,對照檔案來重命名
原檔案名稱實例
新檔案名稱實例
公式
45
change the Nth filename to the Nth line of indexfile
file.jpg(sequence number=N)
X_(lineN_of_indexfile).jpg(N=file sequence,X=001,002,...)
###_#<file_line('indexfile',$match)>.${EXT}
46
change the filename by looking up the mapping list in mapfile(1)
old.txt
new.txt(old<table>new is defined in mapfile)
${BASE}<file_content('mapfile',"(?:\n|^)$match\t([^\n]*)")>.${EXT}
47
change the filename by looking up the mapping list in mapfile(2)
old.txt
new.txt(old,new is defined in mapfile)
${BASE}<file_content('mapfile',"(?:\n|^)$match,([^\n]*)")>.${EXT}
根據目錄名來重命名
原檔案名稱實例
新檔案名稱實例
公式
48
add the pathname in the front of filename
c:\test\abc\01.jpg
abc_01.jpg
#<basename(getcwd)>_${FILENAME}
49
add the pathname and related sequence no in the front of filename
c:\a\x.jpg, y.jpg c:\b\x.jpg, y.jpg
a_001.jpg, a_002.jpg, b_001.jpg, b_002.jpg
#<sprintf("%s_%03d",$A=basename(getcwd),($A eq $B && $match!=1)?++$I:($I=1),$B=$A)>.${EXT}
50
create subfolder and move file in it
c:\test\a.txt
c:\test\old\a.txt
#<scalar(system('mkdir old'),'old')>\${FILENAME}
按照大小寫重命名
原檔案名稱實例
新檔案名稱實例
公式
51
change whole filename to lower case
FILE.TXT
file.txt
${FILENAME}{lc}
52
change whole filename to upper case
file.txt
FILE.TXT
${FILENAME}{uc}
53
change the first letter to upper case
file.txt
File.txt
${FILENAME}{ucfirst}
54
change the first letter of each word to upper case
test file.txt
Test File.txt
${BASE}{replace,'\b\w','\U$&'}.${EXT}
對數字作運算,改變數字格式
原檔案名稱實例
新檔案名稱實例
公式
55
change all number in filename to 4 digits format
file123.txt
file0123.txt
${BASE}<replace($match,'(\d+)','${\calc($1,"04d")}')>.${EXT}
56
add all number in filename by 3, use 4 digits format
file123.txt
file0126.txt
${BASE}<replace($match,'(\d+)','${\calc($1+3,"04d")}')>.${EXT}
57
multiply all number in filename by 2, use 4 digits format
file123.txt
file0246.txt
${BASE}<replace($match,'(\d+)','${\calc($1*2,"04d")}')>.${EXT}
58
filename is pure number, add the number by the first number in file content
123.txt
133.txt(assume first number in file content is 10)
${FILENAME}<add(basename($&),file_content($&,'(\d+)'))>.${EXT}
59
add leading zeros to make the filename has length of 10
12W.txt
00012W.txt(total length is 10)
${FILENAME}{calc,'010s'}
用隨機字母和單詞重命名
原檔案名稱實例
新檔案名稱實例
公式
60
append to filename random letters and digit with length of 5
abc.txt
abc_xxxxx.txt(xxxxx is random letters/digits)
${BASE}_#<rand_str(5,'a'..'z',0..9)>.${EXT}
61
rename file to random word from candidate words
abc.txt
N_C.txt(N=001,002,..., C=random of 'RED', 'PURPLE',...)
###_#<rand_str(1,'RED','PURPLE','GREEN','BLUE','ORANGE')>.${EXT}
字元映射法重命名
原檔案名稱實例
新檔案名稱實例
公式
62
change filename by mapping 0-9 to A-J correspondingly
0123.jpg
ABCD.jpg
${BASE}<scalar($&=~tr/0-9/A-J/,$&)>.${EXT}
63
change filename by mapping 0-4 to 5-9, and 5-9 to 0-4
012348888.jpg
567893333.jpg
${BASE}<scalar($&=~tr/0-4,5-9/5-9,0-4/,$&)>.${EXT}
64
change filename by reverse upper and lower cases
TELLme.txt
tellME.txt
${BASE}<scalar($&=~tr/A-Za-z/a-zA-Z/,$&)>.${EXT}
趣味重命名
原檔案名稱實例
新檔案名稱實例
公式
65
reverse letters of filename
just for fun.txt
nuf rof tsuj.txt
${BASE}{chars_r,1,-1}.${EXT}
66
double each letter in filename
just for fun.txt
jjuusstt ffoorr ffuunn.txt
${BASE}{replace,'(.)','\1\1'}.${EXT}

相關詞條

熱門詞條

聯絡我們