从终端删除多个文件

时间:2017-03-11 23:36:06

标签: linux bash terminal multiple-files

我有一个像这样的文件列表:

test

我想保留所有这些是4的倍数(如列表中所示)并删除其他的。我怎么能从终端或bash这样做?

我有一堆文件,我想自动执行

感谢。

2 个答案:

答案 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