在tar.gz中打印每个文件的第一行,而不提取



我正在寻找一个命令,以便打印tar.gz档案中包含的每个文件的第一行,而不提取它。

示例:

tar -ztvf MyArchive.tar.gz
-rw-r--r-- root/root 3732541752 2020-04-04 03:24 FILE1.TXT
-rw-r--r-- root/root   90493394 2020-04-04 03:16 FILE2.TXT
-rw-r--r-- root/root  103294570 2020-04-03 21:06 FILE3.TXT
-rw-r--r-- root/root   16865694 2020-04-03 21:07 FILE4.TXT
-rw-r--r-- root/root 13176227988 2020-04-03 23:36 FILE5.TXT

我需要在tar.gz 中打印每个FILE*.TXT的第一行

我怎样才能做到这一点?

您可以使用tar和for循环命令来实现。

对于$(tar-ztvf MyArchive.tar.gz | grep-i file | awk"{print$NF}"(中的i

进行

tar xfO MyArchive.tar.gz$i|头-1

完成

使用"tar xfO MyArchive.tar.gz filename"读取tar.gz 内文件的内容

试试这个:

tar zxf MyArchive.tar.gz --to-command="head -n 1"

该命令单独获取tar中的文件,并将它们输入到命令"head-n 1"中。

相关内容

  • 没有找到相关文章

最新更新