为什么我不能使用这样的命令来查找目录和子目录中的所有 pdf 文件?我该怎么做?(我在 ubuntu 中使用 bash)
ls -R *.pdf
编辑
那么我该如何删除所有这些文件呢?
答案1
为什么我不能使用这样的命令来查找目录和子目录中的所有 pdf 文件?
*.pdf
命令中的通配符将扩展bash
为当前目录中所有匹配的文件,前正在执行ls
。
我该怎么做?(我在 ubuntu 中使用 bash)
找到你的答案。
find . -name \*.pdf
是 pdf 文件的递归列表。-iname
不区分大小写匹配,因此
find . -iname \*.pdf
列出所有 .pdf 文件,例如foo.PDF
另外,你可以使用 ls 查看有限数量的子文件夹,例如
ls *.pdf */*.pdf
查找子文件夹中的所有 pdf 文件(与 bar/foo.pdf 匹配,而不是 bar/foo/asdf.pdf,也不与 foo.PDF 匹配)。
如果要删除使用 find 找到的文件,可以使用
find . -iname \*.pdf -delete
答案2
使用 find 代替 ls
find . -name '*.pdf'
答案3
正如其他人所说,找到就是答案。
现在来回答另一部分。
那么我该如何删除所有这些文件呢?
查找 . -iname *.pdf -exec rm {} \;
應該做。