轻松学会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命令行界面永远都是您最信赖的工具之一。


数据运维技术 » 轻松学会Linux获取文件扩展名方法 (linux 取得扩展名)