Linux常用命令

find ls grep 连用

#查找当前文件夹7小时内的非文件夹类型的文件
find . -cmin -420 -name ‘*.log‘ -exec ls -lrt {} \; | grep -v ‘^d‘

详解

find . -cmin -420 -name ‘*.log‘    #查询七小时内当前文件夹的所有文件,这里的*代表全部,可以用*.txt等等过滤。

-exec ls -lrt {} \;    #把前面find的结果作为输入给ls命令,占位符为{},l为显示长信息,t表示按时间排序,r表示倒序。

grep -v ‘^d‘    #过滤掉以d开头的记录,^表示开头的正则表达式,-v表示invert-match过滤掉匹配的记录。ls -l查询出的文件夹都以d开头。和find中用-type f参数一个效果
## 当存在3小时以内的txt文件时,打印exist,如果不存在打印not exist,>/dev/null为防止sh脚本多余输出
if find . -cmin -180 -name ‘*.txt‘ -exec ls -lrt {} \; grep -v ‘^d‘ >/dev/null
then
    echo "exist!"
else
    echo "not exist!"
fi

Linux常用命令

上一篇:Linux基础命令mkdir


下一篇:Eclipse中常用快捷键的使用