我正在寻找一个命令,以便打印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"中。