linux批量替換
1.用for靈活,文件名中字元替換,加日期等都可
先用下面語句測試一下
for
i
in
*aa*
;do
NN=$(echo
$i
|
sed
's/aa/bb/')
;echo
"$NN";done
保險起見,只拷貝
for
i
in
*aa*
;do
NN=$(echo
$i
|
sed
's/aa/bb/')
;cp
"$i"
"$NN";done
這是更名,慎用
for
i
in
*aa*
;do
NN=$(echo
$i
|
sed
's/aa/bb/')
;mv
"$i"
"$NN";done
2.用rename簡潔
先用-n
開關測試
rename
-n
's/aa/bb/'
*
測試無誤去掉-n進行更名
rename
's/aa/bb/'
*
Ⅱ linux系統替換文件怎麼替換
sed
批量替換多個文件中的字元串
格式: sed -i "s/查找欄位/替換欄位/g" `grep 查找欄位 -rl 路徑`
例如:替換/home下所有文件中的xxx為ooo
sed -i "s/xxx/ooo/g" `grep xxx -rl /home`
單個文件中的字元串替換
將文件1.txt內的文字「111」替換成「222」
sed -i "s/111/222/g" 2.txt
注意:替換前請備份好文件以免造成不必要的損失,字元串要為絕對內容。
Ⅲ linux對文本一定字元批量替換
給出一個文本文件, 沒有描述文件格式, 就直接在後面提到"序列", "名稱"是個很奇怪的事情, 也許你可以考慮說明一下.
在你說明之前我假設每個">"開頭的地方都是一行文本, 名稱是類似"HWI-ST1276:146:C39RYACXX:2:1101:1795:1911"的文本, 你舉的例子是希望把4行文本按照一定規則縮為2行文本, 那麼試試下面這個命令:
sed-n'h;n;s/.*//;H;g;s/ /N/;p'input_file>output_file
在我自己電腦上, 復制上面的內容生成一個100MB的文件用來測試, 完成需要1.4秒
這在linux上測試通過, 不建議你參考別人的弄到windows上處理
Ⅳ linux 批量替換某文件夾下的文件名,文件內容,文件夾名稱
1.用for靈活,文件名中字元替換,加日期等都可
先用下面語句測試一下
for
i
in
*aa*
;do
nn=$(echo
$i
|
sed
's/aa/bb/')
;echo
"$nn";done
保險起見,只拷貝
for
i
in
*aa*
;do
nn=$(echo
$i
|
sed
's/aa/bb/')
;cp
"$i"
"$nn";done
這是更名,慎用
for
i
in
*aa*
;do
nn=$(echo
$i
|
sed
's/aa/bb/')
;mv
"$i"
"$nn";done
2.用rename簡潔
先用-n開關測試
rename
-n
's/aa/bb/'
*
測試無誤去掉-n進行更名
rename
's/aa/bb/'
*
Ⅳ linux批量替換指定文件夾下的所有文件名(包括子目錄下的文件)中的字元串
思路:先找到文件,再替換
find /yourfolder/subdir -exec {sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`}\;
Ⅵ linux批量替換文件夾名,文件名,文件內容命令
1.批量改名採用命令rename
rename 語法:
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
-v表示顯示詳細信息,-n表示不實際執行替換,只是看哪些文件會受影響。 -f 表示強制,不管是否有重名。
perlexpr是perl語法的表達式, files則是匹配項。因此,該命令執行結果與perlexpr有關,不一定就是改文件名。
實例: 將所有文件名*.html 改為對應的.htm
rename 's//.html$//.htm$/' *.html
去bak後綴
rename 's//.bak$//' *.bak
將文件名大寫改為小寫
rename 'y/A-Z/a-z/' *
但rename不能遞歸修改。
2.遞歸改名,用find+rename
將文件名的abc改為xyz
find . -name "abc*" -exec rename 's/abc/xyz/' {} /;
該命令可以將當前目錄下所有子目錄的文件都改名。
3.內容替換,用find+sed
將所有ablo 替換為ablozhou
find . -type f -exec sed -i -e "s/ablo/ablozhou/g" {} /;
sed 命令 -i 表示 --in-place,文件原地替換。-e 後跟替換表達式
Ⅶ Linux批量替換多個文件中字元串
linux批量替換多個文件中字元串linux下批量替換多個文件中的字元串的簡單方法。用sed命令可以批量替換多個文件中的字元串。
用sed命令可以批量替換多個文件中的字元串。sed
-i
s/原字元串/新字元串/g
`grep
原字元串
-rl
所在目錄`例如:我要把mahuinan替換為huinanma,執行命令:sed
-i
s/mahuinan/huinanma/g
'grep
mahuinan
-rl
/www'這是目前linux最簡單的批量替換字元串命令了!具體格式如下:sed
-i
s/oldString/newString/g
`grep
oldString
-rl
/path`實例代碼:sed
-i
s/大小多少/日月水火/g
`grep
大小多少
-rl
/usr/aa`sed
-i
s/大小多少/日月水火/g
`grep
大小多少
-rl
./`
Ⅷ linux下 批量替換execl中的部分內容
如果後綴是 xls 或者 xlsx的, 這種格式其實是個壓縮包, 你先安裝vim 和 unzip, 然後用vim打開文件,
會進到一個文件列表頁, 然後選文件 xl/sharedString.xml ,敲回車進入編輯頁面,用vim的批量替換,將字元串全替換好了之後 保存退出就可以了,退出後到文件列表頁,這里直接退出就行
另外要注意先備份文件
補充:vim的批量替換的例子(冒號要輸入) :%s/aaaaa/張三/g
另外不用擔心會改到注釋之類的東西,因為注釋的內容不在這個xml文件里
如果要自動的話可以參考:
unzip test.xlsx -d test
cd test
sed -i 's/aaaaa/張三/g' xl/sharedStrings.xm
zip -f ../test.xlsx xl/sharedStrings.xml
cd ../
rm -rf test
Ⅸ linux批量替換文件中某一部分內容中的某些字元
#!/bin/bash
FILE=`ls 你文件所在目錄`
for i in $FILE
do
sed -i "s/bb/cc/g" 你文件目錄/$i
done
Ⅹ linux批量修改word字體
linux批量修改word字體方法如下
①點擊【開始】-【替換】;
②在彈出來的對話框中,將游標移至【查找內容】,點擊左下角的【更多】,在【格式】下來列表中點擊【字體】,在【字形】下來列表中勾選【加粗】,點擊【確定】;
③將游標移至【替換為】,在【格式】下拉列表再次點擊【字體】,在【字體顏色】下拉列表中勾選要更改的顏色,點擊【確定】回到對話框,點擊【全部替換】即可。