shell 判断文件test.tar.gz 是不是*.gz类型的文件,不是则打印信息
时间: 2023-07-06 21:31:26 浏览: 52
可以使用以下命令来判断文件`test.tar.gz`是否是`.gz`类型的文件:
```shell
if [[ "$(basename "$file")" != *.gz ]]; then
echo "The file is not a .gz file."
fi
```
其中,`$(basename "$file")`会返回文件名,即`test.tar.gz`。如果文件不是`.gz`类型的文件,就会打印出"The file is not a .gz file."的信息。
相关问题
shell脚本 检查test.tar.gz存在,且检查 tar -tvf test.tar.gz > /dev/null 结果,如果是invalid tar magic 则显示文件无效
可以使用如下的shell脚本来检查test.tar.gz文件是否存在,并检查其是否是有效的tar压缩文件:
```
#!/bin/bash
if [ -f "test.tar.gz" ]; then
if tar -tvf test.tar.gz > /dev/null 2>&1; then
echo "test.tar.gz is a valid tar file."
else
echo "test.tar.gz is an invalid tar file."
fi
else
echo "test.tar.gz does not exist."
fi
```
这个脚本首先检查test.tar.gz文件是否存在,如果存在则执行tar -tvf命令来检查其是否是有效的tar压缩文件。如果命令执行成功,则说明文件是有效的,否则就会输出"test.tar.gz is an invalid tar file."。注意这里使用了重定向,将tar命令的输出重定向到/dev/null,这样就不会在屏幕上显示tar命令的输出了。
shell脚本 检查 tar -tvf test.tar.gz > /dev/null 结果,如果是invalid tar magic 则显示文件无效
可以使用if语句和grep命令来实现该功能,具体的shell脚本代码如下:
```
if tar -tvf test.tar.gz > /dev/null 2>&1 | grep -q "invalid tar magic"; then
echo "文件无效"
else
echo "文件有效"
fi
```
该脚本首先执行tar命令来尝试解压test.tar.gz文件,并将输出结果重定向到/dev/null中,这样就不会在屏幕上输出任何信息。然后使用2>&1将标准错误输出重定向到标准输出,这样可以将标准错误信息一起过滤掉。接着使用grep命令来查找"invalid tar magic"字符串,如果找到了该字符串,则说明文件无效。最后使用if语句来判断文件是否有效并输出相应的提示信息。