Use*_*123 5 linux date timestamps files
通常date +%d给出08当前日期 08/10/2017的输出。但是当我ls -lrt在路径上执行时,日期格式就像Oct 8 15:03,那么,我如何获取当前日期的文件?
我正在使用命令
ls -lrt XYZ.LOG* |grep "$(date +'%b %d')" |awk '{print $9}'
Run Code Online (Sandbox Code Playgroud)
但它没有给我今天日期(08/10/2017)的文件,尽管它给了我任何一个月的 10 - 31 日的正确输出。
这有点作弊,但它有效。
首先创建一个带有特定时间戳的空参考文件,即午夜:
touch -d "$(date +%FT00:00:00)" /tmp/midnight
Run Code Online (Sandbox Code Playgroud)
然后找到比这个文件更新的文件:
find . -type f -newer /tmp/midnight
Run Code Online (Sandbox Code Playgroud)
如果你想要ls-like 输出find而不仅仅是路径名:
find . -type f -newer /tmp/midnight -ls
Run Code Online (Sandbox Code Playgroud)
如果要查找与模式匹配的文件XYZ.LOG*:
find . -type f -name 'XYZ.LOG*' -newer /tmp/midnight -ls
Run Code Online (Sandbox Code Playgroud)
如果您有 GNU find,则可以绕过临时文件并使用
find . -type f -newermt 0
Run Code Online (Sandbox Code Playgroud)
获取自午夜以来修改的文件。