📌  相关文章
📜  linux 使用文件扩展名拆分 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:17:22.602000             🧑  作者: Mango

Linux 使用文件扩展名拆分 - Shell-Bash

在Linux系统中,文件名通常包含有一个扩展名,代表该文件的类型。文件名和扩展名之间使用.作为分隔符,例如.txt表示文本文件,.jpg表示JPEG图片文件等等。

在一些情况下,需要使用Shell-Bash脚本来获取文件名的扩展名,例如需要批量修改文件类型的时候。下面是一种获取文件扩展名的方法:

#!/bin/bash
filename=$1
extension=${filename##*.}
echo $extension

上面的代码中,首先获取用户传入的文件名,然后使用Shell-Bash中的字符串截取功能来获取文件扩展名。具体来说,${filename##*.}表示从文件名的最后一个.字符开始截取,即获取扩展名。

代码说明
  • #!/bin/bash 表示使用Bash作为解释器。
  • $1 表示获取用户传入的第一个参数,即文件名。
  • ${filename##*.} 表示使用字符串截取来获取文件扩展名。
  • echo $extension 表示输出文件扩展名。
示例

假设某目录下包含以下几个文件:

file1.txt
file2.doc
file3.jpg

使用Shell-Bash脚本来获取这些文件的扩展名:

#!/bin/bash
shopt -s nullglob
for file in *
do
    if [ -f "$file" ]
    then
        filename=$(basename -- "$file")
        extension=${filename##*.}
        echo "$file has the extension $extension"
    fi
done

执行上面的脚本,可以得到以下输出:

file1.txt has the extension txt
file2.doc has the extension doc
file3.jpg has the extension jpg
总结

本文介绍了一种获取文件扩展名的Shell-Bash脚本,通过该脚本可以方便地获取文件的类型信息。对于批量修改文件类型或对文件进行分类处理等操作,该脚本具有很大的实用性。