Rhel5

想知道為什麼 sed 不能像我預期的那樣使用 xargs

  • February 13, 2010

我想知道為什麼以下命令不起作用:

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.

目錄或文件名中是否有空格?

引用自:https://serverfault.com/questions/112548