删除当前目录下除test.txt外,所有 *.txt文件,使用egrep -v取反
- rm ls *.txt|egrep -v test.txt
复制代码
或者使用awk
- rm ls *.txt|awk '{if($0 != "test.txt") print $0}'
复制代码
使用egrep排除多个文件
- rm -rf ls *.txt|egrep -v '(test1.txt|test2.txt|test3.txt)'
复制代码
除ls命令得到原始数据,也可以用find命令
- rm find . -name *.txt | egrep -v '(test1.txt|test2.txt|test3.txt)'
复制代码
扩展:==========================================
egrep是grep的扩展, egrep除了具备grep的基本功能外还可以使用 附加的正则表示式元字符, 如
- [a-z]+A
- [a-z]?A
- [a-z]|[a-z]
- abc(d|e)
复制代码 注:egrep 不支持 grep 的标记匹配字符和{}重复的功能。
egrep新添的正则表达式元字符 元字符 功能 示例 匹配对象
[a-z] 匹配1个或多个前一字符 ‘[a-z]+ove’ 匹配跟在一或多个小写字母后面的ove。将找出move,love等
? 匹配0个或1个前一字符 ‘lo?ve’ 匹配后面跟一个或不跟字母o的l.将找到love或lve
a|b 匹配a或b ‘love|hate’ 匹配love和hate这两个表达式之一
() 匹配字符组 ‘love(able|ly)(ov)+’ 匹配loveable或lovely加上ov的一次或多次出现
==========================================
grep、fgrep 和 egrep 命令区别
egrep 命令检索扩展的正则表达式(包括表达式组和可选项); fgrep 命令检索固定字符串,它不识别正则表达式,是快速搜索命令。
这组命令在搜索与定位文件中特定的主题方面非常有用。要搜索的模式可以被认为是一 些关键词,可以用它们来搜索文件中包含的这些关键词。编写程序时,可以用它来寻找某一个函数,或是相关的词组。grep 命令的搜索功能比 fgrep 强大,因为 grep 命令的搜索模式可以是正则表达式,而 fgrep 却不能。
|