对于处理困难的文件名,最好用 NUL 字符分隔文件名。GNUgrep通过--null选项xargs支持这一点,并通过-0选项支持这一点。因此,尝试:
grep --null -rslZ "foo" | xargs -0 sed -i -- "s/foo/bar/g"
Run Code Online (Sandbox Code Playgroud)
grep --null -rslZ "foo" | while IFS= read -r -d $'\0' file
do
sed -i -- "s/foo/bar/g" "$file"
done
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2385 次 |
| 最近记录: |