0
我有一個文件夾裏面有大量的文件夾和文件。我想做一個查找和替換:查找和遞歸替換
- 之前:'my_folder。'
- 後: ''(空)
這裏是我試過(雖然它沒有工作)
find ./ -type f -exec sed -i ‘s/my_folder.//’ {} \;
什麼是正確的命令嗎?
我有一個文件夾裏面有大量的文件夾和文件。我想做一個查找和替換:查找和遞歸替換
這裏是我試過(雖然它沒有工作)
find ./ -type f -exec sed -i ‘s/my_folder.//’ {} \;
什麼是正確的命令嗎?
你正在尋找的命令,是勝負的是這樣的:
find ./ -type f -exec sed -e "/my_folder./s/my_folder.//" {} \;
但您能得到的是輸出打印在屏幕上,而不是寫回文件。爲了完成這樣的事情,我認爲你應該有一行以上的代碼,但這裏的「意見」是關鍵字。像這樣的東西可能會幫助
for file in $(find ./ -type -f)
do
cat ${file} | sed -e "/my_folder./s/my_folder.//" > MyTempFile
cat MyTempFile > ${file} # use this instead of 'mv' command to preserve file perms
done
希望這有助於
無用的貓:'sed -e「/my_folder./s/my_folder.//」<$ file' – Jens 2013-03-25 14:01:08
確保使用ASCII引號。 – kev 2013-03-25 01:15:36
@ David542:它以哪種方式失敗?您是否期望sed命令重命名文件,或者更改其中的內容? – tink 2013-03-25 01:45:54
http://theunixshell.blogspot.com/2012/12/find-and-replace-string-in-all-files.html – Vijay 2013-03-25 12:39:16