我只是创建bash脚本:在特定月份的登录目录中打印一长串文件列表。系统将提示用户输入一个月份名称的前3个字母,以大写字母开头,程序将显示该月份上次修改的所有文件的长列表。
例如,如果用户输入“Jul”,则会列出7月份最后修改过的所有文件。
是否可以按日期对文件进行排序然后限制它们?或者可以采取不同的方式吗?
答案 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)。