grep
个人觉得egrep比较好用,感觉改良了grep的一些不可以直接操作的东西,但是总体来说还是没太大区别的,都是一个过滤工具。
grep 和 egrep 都要通过 正则表达式来筛选我们想要的东西,只能筛选文本内容,不能对目录筛选,如果想筛选目录可以通过管道把目录传过去,或者把目录存到文件里头再筛选
1..查询文件/logs/foo.log以”abc”结尾的行。
答案:
grep “abc$” /logs/foo.log
2.多个文件中查找关键字
[root@room9pc01 ~]# grep “root” /etc/passwd /etc/hosts
/etc/passwd:root:x:0:0:root:/root:/bin/bash
/etc/passwd:operator:x:11:0:operator:/root:/sbin/nologin
3.-o 是只显示匹配到的字符
[root@nginx ~]# grep -o root /etc/passwd
root
root
root
root
4.-i是忽略大小写
5.-v是取反的意思
find
1.查找/logs目录下前缀为access的文件并删除
答案:
find /logs -type f -name “access*” -exec rm -rf {} \;
2. 写一个脚本查找最后创建时间是三天前,后缀是*.log 的文件并删除。
答案:
find dir/ -mtime +3 -type f -name “.*.log” -exec rm -rf {} \;
3. 写一个脚本将某目录下大于 100k 的文件移动至/tmp 下。
答案:
find dir/ -type f -size +100k -exec mv {} /tmp \;