我有一个像这样的文件列表:
test
我想保留所有这些是4的倍数(如列表中所示)并删除其他的。我怎么能从终端或bash这样做?
我有一堆文件,我想自动执行
感谢。
答案 0 :(得分:0)
在GNU sed
中,您可以使用~
表示"每第n行"。地址中的1~4
表示"从第1行开始,每4个"。要获取要删除的文件列表,只需删除以下内容:
sed '1~4d' list
答案 1 :(得分:0)
使用perl:
perl -nlE 'say if ($.-1)%4' < list_of_files.txt
将打印删除列表,例如
SAN-20160424-233507.nc
SAN-20160424-113739.nc
SAN-20160424-233757.nc
SAN-20160424-233902.nc
SAN-20160424-113947.nc
SAN-20160424-234006.nc
SAN-20160424-234110.nc