添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

以下命令将查找字符串的所有出现并删除找到此字符串的文件的内容.

find / -maxdepth 1 -xdev -type f -exec grep -i "stringtofind" -l {} \; -exec sed -i '/./d' {} \;

我已经尝试修改它只是删除找到字符串的行但无法使其工作.

例如测试文件:

blah blah blah

blah blah blah teststring

teststringblah blah blah

blah blah blah

它将删除第2行和第3行,并将文件保留为行之间没有间隙:

blah blah blah

blah blah blah

解决方法:

这里不需要grep sed -i’/ teststring / Id’文件删除文件中包含teststring(不区分大小写)的所有行,所以只需将它与find结合使用:

find . -maxdepth 1 -xdev -type f -exec sed -i '/teststring/Id' {} \;

sed演示:

$cat file

blah blah blah

blah blah blah teststring

teststringblah blah blah

blah blah blah

$sed '/teststring/Id' file

blah blah blah

blah blah blah

标签:linux,grep,sed,find

来源: https://codeday.me/bug/20190729/1569959.html

以下命令将查找字符串的所有出现并删除找到此字符串的文件的内容.find / -maxdepth 1 -xdev -type f -exec grep -i "stringtofind" -l {} \; -exec sed -i '/./d' {} \;我已经尝试修改它只是删除找到字符串的行但无法使其工作.例如测试文件:blah blah blahblah blah blah teststring...
Linux 使用 grep 删除 两个文件相同部分 首先描述一下这个问题:比如两个文件file1和file2, 删除 两个文件中共同的部分,留下两个文件中独自有的部分 1、已知俩文件 内容 [root@ grep ~]# cat 1.txt [root@ grep ~]# cat 2.txt 将函数或者变量替换定义在一个文件中,如函数可以定义在.fun文件中,然后在.sh脚本中,用“."加载,然后直接调用函数,如果:db.fun。定义函数可带参数,函数中的 $1,$2,$3…… 表示接受的第一个,第二个,第三个……参数。如:create_station_db 20 11 $1就是20 $2就是 11. grep 'xxx' filename1 filename2 filename3 ...或者通配符文件也可 *.log 3、 查找 内容 在文件中的 数,可以使用参数-n,例: grep -n 'xxx' filename 忽略大小写问题,可以使用参数“-i” 文件 内容 查找 不匹配指定字符串的 ,可以使用参数“-v” 4、 删除 文件某一 ,例: sed -i "nd" fil.