在 unix bash 中,我得到的文件如下所示:
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,我只想得到 p>
./20150128/exp/RESULT.out
./20150210/exp/RESULT.out
./20150218/exp/RESULT.out
./20150224/exp/RESULT.out
谢谢你的帮助
最佳答案
您可以使用此查找
命令:
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
关于bash - Unix - 按文件名过滤查找结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29436181/