需要一个 shell 脚本来删除除 *.pdf 之外的所有文件

发布于 2024-10-12 08:40:08 字数 68 浏览 3 评论 0原文

任何人都可以编写一个 shell 脚本来删除文件夹中除扩展名为 pdf 的文件之外的所有文件吗?

Can anyone write a shell script that deletes all the files in the folder except those with pdf extension?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

稀香 2024-10-19 08:40:09

这将包括所有子目录:

find . -type f ! -iname '*.pdf' -delete

这将仅在当前目录中起作用:

find . -maxdepth 1 -type f ! -iname '*.pdf' -delete

This will include all subdirectories:

find . -type f ! -iname '*.pdf' -delete

This will act only in the current directory:

find . -maxdepth 1 -type f ! -iname '*.pdf' -delete
栀梦 2024-10-19 08:40:09
$ ls -1 | grep -v '.pdf

或者,如果您有信心:

$ ls -1 | grep -v '.pdf

或者,防弹版本:

$ find . -maxdepth 1 -type f ! -iname '*.pdf' -delete
| xargs -I {} rm -i {}

或者,如果您有信心:


或者,防弹版本:


 | xargs -I {} rm {}

或者,防弹版本:

| xargs -I {} rm -i {}

或者,如果您有信心:

或者,防弹版本:

$ ls -1 | grep -v '.pdf

Or, if you are confident:

$ ls -1 | grep -v '.pdf

Or, the bulletproof version:

$ find . -maxdepth 1 -type f ! -iname '*.pdf' -delete
| xargs -I {} rm -i {}

Or, if you are confident:


Or, the bulletproof version:


 | xargs -I {} rm {}

Or, the bulletproof version:

| xargs -I {} rm -i {}

Or, if you are confident:

Or, the bulletproof version:

你怎么敢 2024-10-19 08:40:09

这应该可以解决问题:

shopt -s extglob
rm !(*.pdf)

This should do the trick:

shopt -s extglob
rm !(*.pdf)
栀子花开つ 2024-10-19 08:40:09
ls | grep -v '.pdf

这将过滤所有不以 PDF 结尾的文件,并对它们执行 RM

| xargs rm

这将过滤所有不以 PDF 结尾的文件,并对它们执行 RM

ls | grep -v '.pdf

This will filter all files that don't end in PDF, and execute RM on them

| xargs rm

This will filter all files that don't end in PDF, and execute RM on them

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文