我只是创建 bash 脚本来: 打印特定月份登录目录中文件的长列表。系统会提示用户输入月份名称的前 3 个字母,以大写字母开头,程序将显示该月份最后修改的所有文件的长列表。
例如,如果用户输入“Jul”,则会列出所有在 7 月最后修改的文件。
是否可以按日期对文件进行排序然后限制它们?或者可以用不同的方式做吗?
看看这个答案:https ://stackoverflow.com/a/5289636/851273
它涵盖月份和年份,但您可以删除与年份的匹配。
这是应该做的脚本
Month=Dec
ls -ltr |awk '$6 ~ /'$Month'/ {print $9}'
这将使 awk 查看 ls 字段($6)中的日期字段, ls -ltr 将按日期对其进行排序。这将展开变量 $Month 并使用它来搜索 $6 字段,并打印出文件名(第 9 个字段 $9)。
read mon
la -la | grep $mon
您可以grep -i
使用不区分大小写的 grep。因此用户输入可能变得不区分大小写。
注意:这是粗略的,因为它返回文本与月份名称匹配的结果。例如:它将返回按月命名的文件。要完善这一点,您只需查看日期列