如何在Mac OS 中通过命令行更改文件的文件扩展名
目录:
命令行用户可能会发现更改和重命名目录中一组文件的文件扩展名很有帮助。例如,假设您有一批文件扩展名为“.txt”的文件,但您希望所有这些文件扩展名为“.py”。这就是我们将在这里通过依靠简单的 bash 脚本在 Mac OS / OS X 的命令行更改一组文件扩展名来演示的内容,但这也适用于 linux 和其他 unix 风格。
在开始之前,要意识到这不是在改变文件类型,它只是在改变文件扩展名。此外,此演练方法有意使用命令行,因此适用于更高级的用户。但是,终端并不是执行此操作的唯一方法,因此如果这太高级或与您的用户技能不相关,请回想一下 Mac OS 提供了简单的工具来在 Mac OS 中批量重命名文件和在 Mac OS 中批量更改文件扩展名。 Finder 也一样,两者都不需要命令行。好的?好的,使用简单的一行 bash 脚本的命令行方法。
顺便说一下,您应该始终对正在修改的文件进行复制和/或备份,尤其是如果您不熟悉命令行。否则可能会导致数据丢失,Terminal 不会容忍输入错误或错误,因此请不要跳过备份。
如何通过命令行更改目录中的所有文件扩展名
举几个例子吧。在第一个示例中,我们将更改当前工作目录中扩展名为“.txt”的所有文件,并将它们更改为“.py”。假设您所在的目录中,您希望将当前目录中的所有文件更改为新的文件扩展名,这里是要使用的语法:
.txt文件;做 mv $file>"
注意这里使用了通配符,表示当前目录中与“.txt”文件扩展名匹配的所有内容都将被更改。另请注意“txt”的多个实例和“py”的一个实例,您希望更改它们以满足您的要求。
这一切所做的就是创建一个简单的循环,在其中找到与通配符和初始文件扩展名匹配的文件,然后执行“mv”命令将这些文件从初始文件扩展名移动(重命名)到更换。很简单吧?
让我们再举一个例子,假设我们在当前目录中有一组图像文件,文件名类似于“blahblah.jpg.JPEG”,但我们真的只是希望它们都具有相同的文件名冗余较少且更易于阅读的“blazblah.jpeg”。在这种情况下,语法将如下所示:
".jpg.JPEG文件;做 mv $file ${file%.jpg.JPEG}.jpeg;完毕"
更改文件扩展名的命令行方法非常快,文件扩展名将快速更改,没有警告对话框或确认。
再次重申,这不是转换任何文件类型,也不是改变文件扩展名。
知道通过命令行更改目录中文件的一堆文件扩展名的更好方法吗?只是想浏览一些其他很棒的命令行提示(转到此处)?在评论中让我们知道您的想法!