linux之批量替換文件內容(如批量去除某字符串)或按某字符串批量替換文件名和目錄(如更名)

例如所在目錄爲/abc,替換目標爲其內部所有文件(含所有子目錄).

替換目錄下所有文件的所有字符串:

例如:http替換爲helloWold,命令:

# cd /abc && beforeName="http";afterName="helloWorld";sed -i "s/$beforeName/$afterName/g" `grep "$beforeName" -rl ./`;

替換文件名:

例如:某目錄下所有含有http的文件或目錄均換爲helloWold,命令:

# cd /abc && beforeName="http";afterName="helloWorld";for file in `find -name "*$beforeName*" -type d ` ;do newfile=`echo $file | sed "s/$beforeName/$afterName/g"`;mv $file $newfile;done;for file in `find -name "*$beforeName*" -type f ` ;do newfile=`echo $file | sed "s/$beforeName/$afterName/g"`;mv $file $newfile;done;

所有文件名及文件內容中出現的字符串進行替換:

例如含有 http的文件名或文件內容均替換:

# cd /abc && beforeName="http";afterName="helloWorld";sed -i "s/$beforeName/$afterName/g" `grep "$beforeName" -rl ./`;for file in `find -name "*$beforeName*" -type d ` ;do newfile=`echo $file | sed "s/$beforeName/$afterName/g"`;mv $file $newfile;done;for file in `find -name "*$beforeName*" -type f ` ;do newfile=`echo $file | sed "s/$beforeName/$afterName/g"`;mv $file $newfile;done
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章