日期:2014-05-16  浏览次数:20633 次

[求助]修改文件内容
求助:
如何批量修改多文件中含空格的字符串???

比如,a.txt b.txt c.txt 三个文件,他们在一个文件夹下,都有字符串“x z v f”,"x z v f"中间有空格,我想一下把三个文件中的"x z v f"换成" h j k l",求高手帮写个命令!!!最好能递归所搜多层文件夹,不能也无所谓,能在当前文件夹下修改也行!!!求帮助!

------解决方案--------------------
find /tmp -name \*.txt -exec sed -n 's/x z v f/h j k l/gp' {} \;

/tmp替换成你的文件所在目录,\*.txt匹配替换成你需要的文件匹配模式,如果需要直接修改原文件则用sed -ni,要这样直接修改原文件前最好先验证一下替换是正确的,否则修改后就没有后悔药的。