Bash - 带用户输入的文字Grep

时间:2015-04-19 16:14:40

标签: bash grep

我正在编写一个脚本,必须从用户输入中识别.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。

1 个答案:

答案 0 :(得分:4)

只需使用案例陈述:

case "$1" in
  *.tar.gz) echo "tar gz" ;;
  *.tar)    echo "plain tar" ;;
  *.gz)     echo "plain gz" ;;
  *)        echo "oups." ;;
esac