如何仅显示在两个选定月份中最后修改的文件?

时间:2018-03-18 16:51:14

标签: linux

我正在尝试过滤我的输出,只显示在" Jan"和" 2月"。有没有办法在不使用grep的情况下执行此操作?

需要能够从" Jan"和" 2月"到" Jan"和" Mar"等。

2 个答案:

答案 0 :(得分:2)

试试这个:

find . -newermt "31 Dec 2017" -not -newermt "28 Feb 2018"

或根据您的具体需要:

find . -newermt "31 Dec 2017" -not -newermt "28 Feb 2018" -size +30M -printf '%s %p\n' | numfmt --to=iec | sort -h

或者如果你想保留你的命令:

find . -newermt "31 Dec 2017" -not -newermt "28 Feb 2018" -size +30M -print0 |
xargs -0 ls -lh | sort -h 

检查:

man find | less +/'-newerXY reference' 

答案 1 :(得分:0)

touch -d 1/1/2018 jan
touch -d 3/1/2018 mar
find . -type f -cnewer jan ! -cnewer mar -ls

ls仅用于控制目的。 -type f可能是想要的限制。使用finds -printf格式可以省略xargs -ls lh,请参阅多个选项的联机帮助页。