檔案批量改名和批量替換檔案內容

2021-05-11 17:35:41 字數 847 閱讀 1539

周海漢 /文

09.12.3

文字操作中經常有整體查詢和替換以及改名的操作,在linux下還是比較方便的,windows下則需要採用特殊工具。下面是linux下一些簡單方法,在ubuntu9.10中除錯通過。

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 sed 批量替換檔案內容

一 linux sed 批量替換多個檔案內容 sed i s oldstring newstring g grep oldstring rl yourdir 其中,grep oldstring rl yourdir是查尋目錄中檔案內容 如將indexeddb目錄裡的檔案內容替換 idbtransac...

BAT批量替換檔案內容

bat批量操作 1.批量替換指定檔案指定內容 案列 將test.txt文字中的inflie替換為outfile echo off setlocal enabledelayedexpansion set currcd dp0 set strold outfile set strnew infile f...

Linux批量替換檔案內容

問題描述 現在需要將rack1目錄下 send檔案中的 ip 替換成 localip 10.0.0.1 n ip 剛才那個批量文字內容替換,只能替換記憶體中的內容,並不會替換文字中的內容,要替換檔案中的內容需要乙個乙個檔案去重定向,比較麻煩,本人比較懶,於是找到了一種更好的辦法 找到批量替換檔案內容...