Find 使用ls管理文件列表

Find 使用ls管理文件列表,find,ls,xargs,rm,Find,Ls,Xargs,Rm,我解压了一大堆文档,但忘了勾选“保留目录结构”,所以现在尝试删除所有这些文件。这些文件位于“我的下载”文件夹中,没有文件夹结构 我已在不同的位置再次解压缩该文件,并尝试使用以下命令删除平面文件 for file in $(find . -type f -printf '~/Downloads/%f\n'); do rm $file; done 它说无法删除文件,因为它不存在,但如果我将它吐出的路径复制到rm中,它会很好地找到并删除它 rm: cannot remove `/home/macph

我解压了一大堆文档,但忘了勾选“保留目录结构”,所以现在尝试删除所有这些文件。这些文件位于“我的下载”文件夹中,没有文件夹结构

我已在不同的位置再次解压缩该文件,并尝试使用以下命令删除平面文件

for file in $(find . -type f -printf '~/Downloads/%f\n'); do rm $file; done
它说无法删除文件,因为它不存在,但如果我将它吐出的路径复制到
rm
中,它会很好地找到并删除它

rm: cannot remove `/home/macpherson/Downloads/SN74LS14N': No such file or directory
xargs

有什么想法吗


谢谢Tom

在其他地方提取相同的归档文件(如果需要,您可以在那里安全地删除它)。然后使用此选项查找必须删除的文件:

find . -type f | sed -e 's/.*\//\/home\/macpherson\/Downloads\//' | xargs rm

您能给我们举一些例子说明文件在存档中是如何组织的,以及它们在本地文件系统中的位置吗?在存档中,它们位于多个文件夹中,可能有许多层的子目录。它们被提取到~/Downloads,没有目录结构。这不是一个真正的例子…;-)谢谢下载后需要额外\/的时间。也不确定这是否适用于名称中带有空格的文件