问题描述
Ubuntu 16.04
Bash 4.4.20
我想拖尾tar.gz文件中sql文件的最后30行。我注意到由于文件锁定,sql备份失败。与其让我解压缩整个压缩文件,不如简单地拖尾sql备份,然后对某些短语进行grep。
此StackOverflown Thread解释说压缩文件无法做到这一点。这是否也适用于这样创建的tar文件:
tar czf name.tar.gz foldername
如果在其他主题中对此进行了解释,请删除该主题,我将继续搜索。
解决方法
您可以使用tar的-O
选项来打印文件内容,然后使用| (pipe)
,可以应用基本的unix操作,例如tail:
tar zxvf name.tar.gz <file_to_read> -O | tail
示例命令,读取文件A1.txt的最后两行
tar zxvf B.tar.gz B/A1.txt -O | tail -2
这里B是我执行过tar命令的目录,它包含许多文件以及文件A1.txt