1. 查找 当前文件夹下 .c和 .h 文件
例如: 删除当前文件夹下 .c和 .h 文件以外的文件
rm -f `ls https://blog.csdn.net/lile777/article/details/ | egrep -v "(.c$|.h$)"`
1. ls 列出所有文件;
2. egrep -v 查找所有不包含 .c和 .h 的文件; .c$ —— 以.c 结尾的文件
3. rm -f 强制删除符合条件的文件
egrep —— 查询 多个 关键字;
除了错误消息和使用消息不同以及 -s 标志的功能不同之外, egrep 命令与 grep 命令带 -E 标志是一样的。
------------------------------------------------------------------------------------------
恢复目录的正常颜色
find https://blog.csdn.net/lile777/article/details/ -type d | xargs chmod 755
http://blog.chinaunix.net/uid-22556372-id-1773426.html
今天下午有个任问我如何删除一个目录下的除了想要的文件之外的所有文件。我想了想grep和rm配合一下不正好
么。
于是经过查阅资料得出了一条命令:过程如下。
首先在一个目录下:
zhou@zhou:~/LinuxC/file/test$ ls
1 23sdfwe 88888888 aabb ag ghdda mmm
2 3 aaaaaaaa abc asdg llllllll wwwww
zhou@zhou:~/LinuxC/file/test$
然后我想删除除了包含字符串aa外所有的文件,也就是想留下aabb,aaaaaaaa,这两个文件,其他的全部删除
下面是我的命令:
zhou@zhou:~/LinuxC/file/test$ rm `ls | grep -v "aa"`
grep就是在文件中搜索包含指定字符串的行。
grep加了“-v” 选项就是反一下,找到文件中不包含指定字符串的行。