在unix bash中,由于find的结果,我正在获取文件,如下所示:
find . -regextype posix-egrep -iregex "./[0-9]{8}/exp/RESULT.out"| sort
./20150128/exp/RESULT.out
./20150210/exp/RESULT.out
./20150218/exp/RESULT.out
./20150224/exp/RESULT.out
./20150318/exp/RESULT.out
./20150327/exp/RESULT.out
./20150330/exp/RESULT.out
是否可以通过日期YYYYMMDD日期字符串过滤此结果,以便仅获取指定日期之前(包括指定日期)的文件?
例如对于20150224,我只想获取
./20150128/exp/RESULT.out
./20150210/exp/RESULT.out
./20150218/exp/RESULT.out
./20150224/exp/RESULT.out
谢谢你的帮助
您可以使用以下find
命令:
export s='20150224'
find . -regextype posix-egrep -iregex "./[0-9]{8}/exp/RESULT.out" -exec \
bash -c 'IFS=/ read -ra arr <<< "$1"; ((${arr[1]} <= s)) && echo "$1"' - '{}' \;
./20150128/exp/RESULT.out
./20150210/exp/RESULT.out
./20150218/exp/RESULT.out
./20150224/exp/RESULT.out
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句