sed使用一例

发布时间:2019-12-18编辑:脚本学堂
有客户要求修改/home/squid/share/errors/Simplify_Chinese/里所有的错误页面转向到他们自己专用的界面去,七八个节点,几十台服务器,几百个文件,一个一个vi编辑,多可怕。研究了下,决定使用sed进行处理,目前发现两种办法:

有客户要求修改/home/squid/share/errors/Simplify_Chinese/里所有的错误页面转向到他们自己专用的界面去,七八个节点,几十台服务器,几百个文件,一个一个vi编辑,多可怕。
研究了下,决定使用sed进行处理,目前发现两种办法:

1、find+sed 比如这样:
 

复制代码 代码如下:
find . -name “*.html” -exec sed -i “s/eht/the/g” {} ;
 

用exec传输find的结果给sed,{}是集合的意思;

2、sed+grep 比如这样:
 

复制代码 代码如下:
sed -i “s/eht/the/g” grep eht -rl /test 这个-rl参数。
或:
grep “abc” * -R | linuxjishu/13830.html target=_blank class=infotextkey>awk -F: ‘{print $1}’ | sort | uniq | xargs sed -i ‘s/abc/abcde/g’

awk -F:的意思是指定:为列的分隔符,sort排序,uniq删除重复行,最后用xargs传输大量数据给sed。
说到xargs,比如曾经有一次/var/spool/clientmqueue目录占用了大量磁盘空间,但其中的文件都是4.0K,数量及其多,单纯用rm,无法达到目的,就得用ls