sed命令和find命令的结合的使用

释放双眼,带上耳机,听听看~!

linux中查找当前目录及其子目录下的所有test.txt文件,并将文件中的oldboy替换成oldgirl

首先查找出当前目录及其子目录下的所有的test.txt文件

[root@zxl zxl]# find ./ -type f -name \"test.txt\"
./test.txt
./a/test.txt
./a/ddd/fff/test.txt
./c/test.txt
[root@zxl zxl]#

查看文件中的内容

[root@zxl zxl]# find ./ -type f -name \"test.txt\"|xargs cat
oldboy
oldboy
oldboy oldboy
oldboy
oldboy
oldboy
[root@zxl zxl]#

将查找结果进行替换并查看替换后的结果

[root@zxl zxl]# find ./ -type f -name \"test.txt\"|xargs sed -i \'s#oldboy#oldgirl#g\'
[root@zxl zxl]# find ./ -type f -name \"test.txt\"|xargs cat
oldgirl
oldgirl
oldgirl oldgirl
oldgirl
oldgirl
oldgirl
[root@zxl zxl]#

上述替换过程等价于

[root@zxl zxl]# find ./ -type f -name \"test.txt\" -exec sed -i \'s#oldboy#oldgirl#g\' {} \\;

同时等价于

[root@zxl zxl]# sed -i \'s#oldboy#oldgirl#g\' `find /home/zxl/ -type f -name \"test.txt\"`

注意:

sed命令和find命令的结合的使用

 

给TA打赏
共{{data.count}}人
人已打赏
随笔日记

Java NIO学习系列二:Channel

2020-11-9 5:39:25

随笔日记

全球股市嗨翻!A股一日飙涨1.45万亿 多位分析师:下半年做多时间窗口已开启

2020-11-9 5:39:27

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索