所有文件都驻留在一个文件夹中。文件名如下所示:
1695_6892_20160321000000_20160321235959.file.name.csv.gz
第三个子字符串(在第二个_
之后)是一个时间戳。
如何将timestamp < 20150531000000
的所有文件复制到另一个文件夹my_folder
?
答案 0 :(得分:3)
试试这个:
for i in *.gz; do test `echo $i | cut -d _ -f 3` -lt 20150531000000 && cp $i my_folder; done
答案 1 :(得分:0)
而且......你可以使用awk。
for i in $(ls -1 org_folder | awk -F"_" '{ if ($3 < 20150531000000) print $0 }'); cp mv org_foler/$i my_folder/; done
答案 2 :(得分:-1)
ls | awk -F'_' '$3<20150531000000{print}'
应该是你要移动的文件,所以
for f in "$(ls|awk -F'_' '$3<20150531000000{print}')"; do mv "${f}" elsewhere/ ;done