使用xargs sed查找和替换 – 我可以将结果保存到文件中吗?
发布时间:2020-12-14 00:34:23 所属栏目:Linux 来源:网络整理
导读:我的代码用’bar’替换’foo’的所有实例: find . -type f |xargs grep 'foo' -l |xargs sed -i 's|foo|bar|g' 我想将修改后的文件列表保存到文本文档中.可能吗? 编辑: 这是对我有用的最终代码: find . -type f -print0 |xargs -0 grep 'foo' -l |tee re
我的代码用’bar’替换’foo’的所有实例:
find . -type f | xargs grep 'foo' -l | xargs sed -i 's|foo|bar|g' 我想将修改后的文件列表保存到文本文档中.可能吗? 编辑: 这是对我有用的最终代码: find . -type f -print0 | xargs -0 grep 'foo' -l | tee result.txt | xargs -0 sed -i 's|foo|bar|g' 不确定这是否是最快捷的方式,但对于几千个文件,这个和其他建议方法之间的速度差异可能非常小. 解决方法
看起来像是无用的xargs,经常与find结合使用.
find . -type f -exec grep 'foo' -l {} ";" -exec sed -i 's|foo|bar|g' {} ";" -ls > file.lst 小心使用它,因为我没有测试它.我不确定,您是否要更改文件名列表或文件内容.由于您使用grep和sed进行搜索,我认为只使用sed就足够了: find . -type f -exec sed -i 's|foo|bar|g' {} ";" -ls > file.lst (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容