-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 的例子,修改其中的 month
、day
和 hour
即可。
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,麻烦。