这使我计数。但是如何删除那些计数小于2的文件?
$ cat ./a1esso.doc | grep -o -E '\w+' | sort -u -f | wc --words
1
$ cat ./a1brit.doc | grep -o -E '\w+' | sort -u -f | wc --words
4
如何获取小于2的文件名,以便我们将其删除?我将扫描数百万个文件。 find命令可以找到所有文件,但是文件名需要通过看起来似乎是管道的方式传播。在右边,可以使用rm命令。
感谢阅读。
更新:
正确的答案是使用输入管道来输入文件名。这不是可以商量的。该程序不适用于示例中显示的一个输入文件,但来自许多文件的动态列表。
用于识别符合标准的文件名的过滤器设备也将出现在接受的答案中。这也不可商议。
答案 0 :(得分:0)
您可以执行此操作...
test $(grep -o -E '\w+' ./a1esso.doc | sort -u -f | wc --words) -lt 2 && rm alesso.doc
更新:根据David的评论删除了无用的猫。