首页 > 怎么使用ls + awk 输出当前目录中某个小时更新的文件名

怎么使用ls + awk 输出当前目录中某个小时更新的文件名

-rw------- 1 root root 463K Nov 22 23:40 aaa
-rw------- 1 root root 463K Nov 22 21:40 xxx
-rw------- 1 root root 463K Nov 22 22:40 yyy
-rw------- 1 root root 463K Oct 22 20:40 zzz
-rw------- 1 root root 463K Nov 22 22:10 ggg

怎么使用ll+awk的命令来找出Nov 22 22:00 ~ 22:59 生成的文件的文件名

希望最后得到的结果是

yyy
ggg

用awk得事先知道上一个小时是什么时候吧?那就不止是ls+awk了。

更新回答:

ls -l | awk '{
if ($6 == "Nov" && $7 == 22 && match($8, /^22:/)) {
    print $9
}
}'

看到题主改问题了,针对修改过的问题,用 find 反而麻烦了,所以写一个用 awk 的例子,修改其中的 monthdayhour 即可。

ls -l | awk -v month=Nov -v day=22 -v hour=22 '{
    if ($6 == month && $7 == day && substr($8, 0, 2) == hour) {
        print $9;
    }
}'

(原答案)

find . -ctime -1h 最好了,不要用 ll + awk,麻烦。

【热门文章】
【热门文章】