Bash按日期显示文件

时间:2012-08-21 07:31:18

标签: file bash shell unix

我只是创建bash脚本:在特定月份的登录目录中打印一长串文件列表。系统将提示用户输入一个月份名称的前3个字母,以大写字母开头,程序将显示该月份上次修改的所有文件的长列表。

例如,如果用户输入“Jul”,则会列出7月份最后修改过的所有文件。

是否可以按日期对文件进行排序然后限制它们?或者可以采取不同的方式吗?

3 个答案:

答案 0 :(得分:1)

看一下这个答案:https://stackoverflow.com/a/5289636/851273

它涵盖了月份和年份,但您可以删除与年份的匹配。

答案 1 :(得分:0)

read mon

la -la | grep $mon

对于不区分大小写的grep,您可以grep -i。因此,用户输入可能会不区分大小写。

注意:这是粗略的,因为它返回的文本与月份名称匹配。例如:它将返回月份名称的文件。要完善此功能,您只需查看日期列

即可

答案 2 :(得分:0)

这是应该执行此操作的脚本

Month=Dec
ls -ltr |awk '$6 ~ /'$Month'/ {print $9}'

这将从ls字段($ 6)中查看日期字段,ls -ltr将按日期对其进行排序。然后,这将扩展变量$ Month并使用它来搜索$ 6字段,并打印出文件名(第9个字段$ 9)。