我正在尝试过滤我的输出,只显示在" Jan"和" 2月"。有没有办法在不使用grep的情况下执行此操作?
需要能够从" Jan"和" 2月"到" Jan"和" Mar"等。
答案 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
,请参阅多个选项的联机帮助页。