find . -name "aomdv*" -PRint0 | xargs -0 sed -i "s/AOMDV/DPMR/g"
例如上面,就將所有aomdv開頭的文件里面所有AOMDV替換為DPMR。
其中-print0和-0是配套使用。原因:
xargs 默認是以空白字符 (空格, TAB, 換行符) 來分割記錄的, 因此文件名./file 1.log被解釋成了兩個記錄./file和1.log, 不幸的是 rm 找不到這兩個文件.為了解決此類問題,我們讓 find 在打印出一個文件名之后接著輸出一個 NULL 字符 ('/0') 而不是換行符, 然后再告訴 xargs 也用 NULL 字符來作為記錄的分隔符. 這就是 find 的-print0和 xargs 的-0的來歷。
新聞熱點
疑難解答