使用Shell脚本判断文件后缀的方法有很多种,本攻略将向您展示两种常用方法。
方法一:使用shell内置变量${VAR##*CHAR}
使用该方法,只需在Shell命令中嵌入一个${VAR##*CHAR},其中CHAR指的是我们需要查找的字符或子串,VAR指的是要判断的文件名或路径。如果文件名以指定的字符或子串结尾,则返回空字符串。我们可以根据返回值是否为空判断文件是否以指定字符或子串结尾。
#!/bin/bash
filename=$1
suffix="jpg"
if [ -n "${filename##*$suffix}" ]; then
echo "File $filename is not a jpg file."
else
echo "File $filename is a jpg file."
fi
以上代码中,首先获取用户输入的文件名并保存到变量filename中。然后指定要判断的文件后缀名为jpg。在if语句中使用${filename##*$suffix}判断文件名是否以jpg结尾,如果不是,说明该文件不是一个jpg文件,输出提示信息;否则说明该文件是jpg文件,同样输出提示信息。
方法二:使用awk命令
另一种方法是使用awk命令,该命令最初设计是基于处理文本文件的,但它也可以用来处理一些简单的任务,例如提取文件名中的后缀。
#!/bin/bash
filename=$1
suffix=$(echo $filename | awk -F. '{print $NF}')
if [ "$suffix" != "jpg" ]; then
echo "File $filename is not a jpg file."
else
echo "File $filename is a jpg file."
fi
上述代码中,我们使用awk命令分割文件名字符串,并获取最后一个分割出来的字符串即为文件后缀。如果该后缀不是jpg,说明该文件不是一个jpg文件,输出提示信息;否则,说明该文件是一个jpg文件,同样输出提示信息。
总的来说,以上两种方法都可以很方便地判断文件是否符合指定的格式,根据实际需求选择使用即可。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用shell脚本判断文件后缀的方法实例 - Python技术站