📅  最后修改于: 2023-12-03 15:39:51.192000             🧑  作者: Mango
如果您正在编写 Bash 脚本或者在 Linux 终端操作文件时,可能需要提取文件的扩展名。在 Bash 中,您可以使用两种方法来提取文件扩展名。
在 Bash 中,您可以使用字符串操作符 ##
来删除文件名中的路径和文件名(只留下扩展名)。以下是一个例子:
file_name="/path/to/file.txt"
extension="${file_name##*.}"
echo "File extension: $extension"
这会返回文件扩展名 txt
。
basename
和 awk
在 Bash 中,您可以使用 basename
命令来删除文件路径和文件名之外的所有内容。然后,您可以使用 awk
命令来将最后一个句点之前的所有内容删除。
以下是一个例子:
file_name="/path/to/file.txt"
extension=$(basename "$file_name" | awk -F "." '{print $NF}')
echo "File extension: $extension"
这会返回文件扩展名 txt
。
如果您需要提取文件的扩展名,Bash 提供了两种方法。您可以使用字符串操作符 ##
,或者使用 basename
和 awk
命令。不管您选择哪种方法,它们都可以为您提供所需的结果。