unix – 在tar文件中执行grep操作而不提取

前端之家收集整理的这篇文章主要介绍了unix – 在tar文件中执行grep操作而不提取前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有包含特定模式的文件列表,但这些文件已经被格式化了。现在我想在tar文件搜索模式,并且知道哪些文件包含模式而不解压缩文件

任何想法…?

tar命令有一个-O开关将文件提取到标准输出。所以你可以将这些输出管道输出到grep / awk
tar xvf  test.tar -O | awk '/pattern/{print}'

tar xvf  test.tar -O | grep "pattern"

例如,返回文件名称一个找到的模式

tar tf myarchive.tar | while read -r FILE
do
    if tar xf test.tar $FILE  -O | grep "pattern" ;then
        echo "found pattern in : $FILE"
    fi
done

猜你在找的Bash相关文章