我有一个bash脚本,可以递归地给出所有目录中在过去45天内编辑过的文件数量。
我有一个名为的目录。
"而在父级中,我有:"
我会在文件夹
当前的输出结果是:
我想要在
如何使用bash完成这个任务?
find . -type f -mtime -45| rev | cut -d . -f1 | rev | sort | uniq -ic | sort -rn
我有一个名为的目录。
\parent
"而在父级中,我有:"
\parent\a
\parent\b
\parent\c
我会在文件夹
a
、b
和 c
上分别运行上述脚本一次。当前的输出结果是:
91 xls
85 xlsx
49 doc
46 db
31 docx
24 jpg
22 pub
10 pdf
4 msg
2 xml
2 txt
1 zip
1 thmx
1 htm
1 /ic
我想要在
\parent
内的所有文件夹上运行脚本,并获得如下输出:+-------+------+--------+
| count | ext | folder |
+-------+------+--------+
| 91 | xls | a |
| 85 | xlsx | a |
| 49 | doc | a |
| 46 | db | a |
| 31 | docx | a |
| 24 | jpg | a |
| 22 | pub | a |
| 10 | pdf | a |
| 4 | msg | a |
| 98 | jpg | b |
| 92 | pub | b |
| 62 | pdf | b |
| 2 | xml | b |
| 2 | txt | b |
| 1 | zip | b |
| 1 | thmx | b |
| 1 | htm | b |
| 1 | /ic | b |
| 66 | txt | c |
| 48 | msg | c |
| 44 | xml | c |
| 30 | zip | c |
| 12 | doc | c |
| 6 | db | c |
| 6 | docx | c |
| 3 | jpg | c |
+-------+------+--------+
如何使用bash完成这个任务?
rev
是什么,为什么要使用它? - emilrev | cut -d . -f1 | rev
是一种奇怪(但也有点巧妙)的方式,可以完成sed 's/\(.*\)\.\(.+\?\)/\2/g'
的功能,后者只是从每个文件名中提取文件扩展名。 - nullrevolution