11

可能重复:
命令行:管道查找结果到 rm

最近,我的外部硬盘驱动器上装有我的照片(大多数都在 DVD 上,但是..)通过一些分区 friggery。

幸运的是,我能够将 PhotoRec 与另一个 Unix 分区实用程序和 PDisk 重新组合在一起。

PhotoRec 返回了一千多个文件夹,其中包含从 .txt 文件到重要的 .NEF 的任何内容。

因此,我尝试使用 unix 使排序更容易,因为 OSX Finder 在选择和删除十亿个 .txt 文件的请求下会简单地崩溃。

但是当我尝试查找和删除 txt 文件,或者递归查找所有 jpeg 并将其移动到一个名为 jpegs 的新文件夹中时,我遇到了一些 BS。我是一个unix菜鸟,所以我需要一些帮助。

这是我在 bash 中所做的。(我在 ls 将列出我需要操作的所有文件夹和文件的目录中)。

寻找 。-name *.txt | R M

或者

须藤找到。-name *.txt | rm -f

所以它给了我一些我需要取消链接文件的BS。任何。

我需要递归查找所有 .txt 文件并删除它们最好是详细的。

谢谢。

4

3 回答 3

19

您不能将文件名通过管道传输到rm. 你需要xargs改用。另外,请记住引用文件模式".txt",否则 shell 会扩展它。

find . -name "*.txt" | xargs rm
于 2012-09-26T14:52:40.727 回答
16
find . -name "*.txt" -exec rm {} \;
于 2012-09-26T14:53:40.323 回答
8
$ find  . -name "*.txt" -type f -delete
于 2012-09-26T15:37:14.510 回答