Rhel5
想知道為什麼 sed 不能像我預期的那樣使用 xargs
我想知道為什麼以下命令不起作用:
sudo find . -name index.htm | xargs -0 sudo sed -i 's/pattern1/pattern2/g'
當分別執行這兩個命令時,它們按預期工作,
find
找到了我需要更改的所有文件,並sed
根據正則表達式正確替換了文本(顯然,當我單獨執行 sed 命令時,我提供了一個文件名作為參數)。當它們與 xargs -0 一起執行時,我得到了sed: ./index.htm ./folder1/index.htm ./folder1/subfolder2/index.htm ... ... ./lastfolder/index.htm: No such file or directory
我最終使用
sudo find . -name index.htm -exec sudo sed -i 's/pattern1/pattern2/g' {} \;
它工作得很好,我只是好奇為什麼使用 xargs 不起作用….
您沒有將
-print0
選項與find
.
目錄或文件名中是否有空格?