使用shell添加文件名扩展名

时间:2013-11-28 11:36:33

标签: shell unix

我有这些文件:

image01
landscape.jpg
.
.
macro01
macro02

我想编写一个shell脚本来验证文件是否有任何扩展名;如果不是,它会添加jpg扩展名。

2 个答案:

答案 0 :(得分:1)

我认为你想要做的是检查文件是否有.jpg扩展名,否则根据需要添加扩展名。 尝试做类似的事情:

if [[ $file =~ \.jpg$ ]]; then
  echo "has jpg ext";
else
   echo "no jpg ext";
fi;

修改:如果您要处理多个扩展程序,请参阅Jonathan Leffler's answer。

答案 1 :(得分:1)

for file in "$@"
do
    case "$file" in
    *.*) : Already has an extension;;
    *)   mv "$file" "$file.jpg";;
    esac
done

如果要将.jpg检测为扩展名,请将*.*更改为*.jpg(并修复冒号命令中的注释)。