轻松学会Linux获取文件扩展名方法 (linux 取得扩展名)
在Linux中,文件扩展名是文件名中位于最后一个小数点之后的部分,通常表示该文件的类型。获取文件扩展名是Linux中常见的操作之一,下面将介绍几种简单易用的方法。
1. 使用基本的basename命令
basename是用于从完全限定路径名字串中提取文件名的实用程序。我们可以使用该命令结合shell参数扩展(parameter expansion)来提取文件名。
例如,假设我们的文件完全限定路径为:/home/swg/a.txt。然后我们可以使用以下命令来提取文件扩展名:
“`
$ filename=basename /home/swg/a.txt
$ echo ${filename##*.}
“`
输出结果为:txt。
2. 使用扩展工具
在Linux中,有许多强大的扩展工具可以帮助我们操作文件。其中一个很方便的工具是mmv,它能够使用大量的选项来移动和改名文件和目录。
假设我们的文件路径是/home/swg/a.txt。我们可以使用以下命令来获取文件扩展名:
“`
$ mmv -n “/home/swg/*.*” “/home/swg/#1.#2”
“`
其中-n选项仅仅是指定了不执行实际操作,而只是列出操作效果。输出结果为:
“`
from /home/swg/a.txt to /home/swg/a.txt.txt
“`
这里采用了”*.*”来匹配可以在任何文件名中查找点。mmv会捕获文件名的之一部分作为#1,扩展名部分作为#2.如果文件名没有扩展名,#2将为空。
3. 使用其他命令获取文件扩展名
在Linux中,还有其他命令可以帮助我们获取文件扩展名。一些通用命令如cut和awk可以提供文件扩展名信息。例如,我们可以使用cut命令将文件名分成两部分,然后提取我们需要的那部分。
假设我们的文件完全限定路径为/home/swg/a.txt。我们可以使用以下命令来获取文件扩展名:
“`
$ filename=$(echo /home/swg/a.txt | cut -f 2 -d “.”)
$ echo $filename
txt
“`
我们还可以使用awk命令来提取文件扩展名。例如,我们的文件路径是/home/swg/a.txt。我们可以使用以下命令来获取文件扩展名:
“`
$ echo “/home/swg/a.txt” | awk -F. ‘{print $NF}’
txt
“`
同样,这里使用的是$NF(Number of fields)变量来获取最后一个字段(即扩展名)的值。
在Linux操作系统中,获取文件扩展名是一项基本而重要的操作。上述三种方法都可以轻松地帮助我们获取文件扩展名信息。这些方法是相互独立的,并且可以根据需要来选择和使用。无论您的任务是什么,Linux命令行界面永远都是您最信赖的工具之一。