我正在编写一个脚本,必须从用户输入中识别.tar,.gz和.tar.gz文件格式。 例如(scriptname /path/to/file.tar.gz)
如果尝试通过类似的方式传递它(在顶部显示变量),但tar gz和tar.gz的所有三个语句都会选择tar.gz文件。
echo "$1" | grep -q "$gz"
if [ $? -eq 0 ];then
echo "found"
else
echo "not found"
fi
我如何将其隔离为单一文件格式? 我试过fgrep和grep -F。
答案 0 :(得分:4)
只需使用案例陈述:
case "$1" in
*.tar.gz) echo "tar gz" ;;
*.tar) echo "plain tar" ;;
*.gz) echo "plain gz" ;;
*) echo "oups." ;;
esac