当前位置: 首页 > 面试题库 >

Linux:删除多个文件的文件扩展名

裘禄
2023-03-14
问题内容

我有许多扩展名为.txt的文件。如何删除Linux中多个文件的.txt扩展名?

我找到

rename .old .new *.old

替代.old扩展.new

我也想对子文件夹中的文件执行此操作。


问题答案:

rename有点危险,因为根据其手册页:

重命名将通过替换第 一次 出现的… 来重命名指定的文件。

像这样的文件名会很乐意做错事c.txt.parser.y

这是使用find和的解决方案bash

find -type f -name '*.txt' | while read f; do mv "$f" "${f%.txt}"; done

请记住,如果文件名包含换行符(罕见,但并非不可能),这将中断。

如果您有GNU查找,这是一个更可靠的解决方案:

find -type f -name '*.txt' -print0 | while read -d $'\0' f; do mv "$f" "${f%.txt}"; done


 类似资料:
  • 问题内容: 给定一个文件名,例如: 我想删除扩展名(如果存在)。我怎样用Java做这个?谢谢! 问题答案: 就像是 索引检查可避免将“ ” 等隐藏文件转换为“”,并避免使用诸如的名称。

  • 问题内容: (不包括任何外部库。) 在不假定任何文件名的情况下,删除Java中文件名扩展名的最有效方法是什么? 一些例子和预期结果: 文件夹>文件夹 hello.txt>你好 read.me>阅读 hello.bkp.txt> hello.bkp 怪异..名称>怪异。 .hidden> .hidden (或者应该只 隐藏 最后一个?) 编辑 :原始问题假定输入是文件名(而不是文件路径)。由于一些答

  • 问题内容: 我想从当前目录中的所有文件名中删除 test.extra 但是它抱怨没有找到file.echo是为了确保它正确列出。 问题答案: 首先使用“ sed -e”代替“ \ e” 我建议您用bash这样做

  • [更新] 我正在实现APK扩展文件支持(但没有XAPK ZIP库支持)。 文档表明,如果所需的APK扩展文件丢失(例如从obb文件夹中删除),我的应用程序将重新下载该文件。这种事不会发生在我身上;我的应用一直说不需要下载。似乎Google Play Downloader库从其SQLite数据库下载的信息为空。请注意,我还没有在Google Play上更新APK草案和扩展文件——它们仍然是第一个版本

  • 我一直在尝试让nginx在没有. php或. html扩展的情况下工作,我需要一点帮助。提前感谢您的时间! 我尝试了在如何使用NGINX从url中删除. php和. html扩展中找到的解决方案?但是没有效果 这是我当前的nginx配置。这是几个教程的组合,但它是有效的。

  • 问题内容: 这是我当前的代码: 这很好。但是,我想列出其他图像类型,例如.png,gif等。 请给我一些帮助,以修改上面的代码以使其正常工作。我尝试了以下方法,但均未成功: 和其他变化… 问题答案: