首页 > 解决方案 > 如何通过计算前缀的使用次数来删除文件?

问题描述

假设我有一个文件夹,例如:

Name1_1542.csv
Name1_1543.csv
Name1_1544.csv
...

Name2_1543.csv
Name2_1544.csv
Name2_1545.csv
...

Name3_1490.csv
Name3_1491.csv
Name3_1492.csv
...

Namex每批文件的第一部分都不同。我想计算每个Namex前缀在文件夹上重复的次数,并删除所有以结果小于 10 的前缀开头的文件。

标签: shellcsvfiledelete-file

解决方案


perl 单行:

perl -e 'for (<Name*.csv>) { my @F = split /_/; push @{$files{$F[0]}}, $_ }
         for (values %files) { unlink @$_ if @$_ < 10 }'

推荐阅读