删除目录中不包含xxx字符创的文件

简介:

a.txt,b.txt,c.txt文件内容如下

root@oldboy test$cat a.txt
sada
xxx
qjieinnxxx
root@oldboy test$cat b.txt
dsfsgxxx
xxx
sadsfsge
root@oldboy test$cat c.txt
adsf
asfgegr
afagsd


法一

1
for  file  in  $( ls ); do  grep  -lq xxx $ file  &&  rm  $ file ; done

法二

1
for  file  in  $( ls ); do  grep  -wq xxx $ file  &&  echo  $ file ; done

法三

1
2
3
4
5
6
7
8
9
10
#!/bin/bash
for  file  in  $( ls  *.txt)
  do
    grep  -wq xxx $ file
    if  [ $? - eq  1 ];  then
       rm  -f $ file
    else
       continue
    fi
  done

执行脚本即把c.txt删除。

root@oldboy test$ls
a.txt  b.txt  c.txt  test.sh
root@oldboy test$sh test.sh 
root@oldboy test$ls
a.txt  b.txt  test.sh




本文转自 xoyabc 51CTO博客,原文链接:http://blog.51cto.com/xoyabc/1678281,如需转载请自行联系原作者

相关文章
|
1月前
如何基于原名称批量重命名(格式化)文件(夹)名
该文介绍了如何使用一个工具批量处理文件名,使其符合“4位数字 - 6位数字 - 10位数字”的格式。首先,提供了两个下载链接(度娘网盘和蓝奏云)以获取该工具,接着详细步骤包括:打开工具,切换到“文件批量复制”模块,使用快捷键;将文件拖入或通过导入按钮添加;选择并编辑重命名规则,分别提取出4位、6位和10位数字;最后,在“纯自定义内容”中输入格式“xxxx - xxxxxx - xxxxxxxxxx”并执行,确认重命名后的文件名正确无误。建议在执行前先保存规则,以防错误难以恢复。
|
1月前
|
Java
怎样查找某个目录下内容含有某个字符串的文件
怎样查找某个目录下内容含有某个字符串的文件
15 2
|
1月前
|
Java
怎样查找某个目录下内容含有某个字符串的文件或多久之前的文件
怎样查找某个目录下内容含有某个字符串的文件或多久之前的文件
14 0
|
1月前
|
弹性计算 运维 Shell
|
12月前
|
Shell Perl
把当前目录(包含子目录)下所有后缀为 “.sh” 的文件后缀变更为 “.shell”,之后删除每个文件的第二行
把当前目录(包含子目录)下所有后缀为 “.sh” 的文件后缀变更为 “.shell”,之后删除每个文件的第二行。
64 1
在文件开头写入内容
在文件开头写入内容
74 0
|
Java Maven
快速删除所有以.lastUpdate结尾的文件
快速删除所有以.lastUpdate结尾的文件
1244 0
|
程序员
代码中目录是否以分隔符结尾的再讨论
代码中目录是否以分隔符结尾的再讨论
62 0