0

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

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

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

4

3 回答 3

1

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

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

于 2012-08-21T07:33:11.763 回答
0

这是应该做的脚本

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

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

于 2012-08-21T12:56:31.623 回答
0
read mon

la -la | grep $mon

您可以grep -i使用不区分大小写的 grep。因此用户输入可能变得不区分大小写。

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

于 2012-08-21T07:38:31.480 回答