如何更改multipe tar.gz压缩文件的以下命令?

时间:2017-11-06 04:57:22

标签: awk

awk 'FNR==NR { a[$1]=$3; next } ($3) in a { print $0 }' input1.txt input2.txt

该命令与普通文件一起正常工作。我需要更改多个压缩的命令" input2.txt.tar.gz'文件。

1 个答案:

答案 0 :(得分:0)

首先提取文件,然后使用awk,例如

tar -xvf input1.txt.tar.gz -C /tmp/
tar -xvf input2.txt.tar.gz -C /tmp/

因此,您的/tmp目录将提取2个文件

然后

awk 'FNR==NR { a[$1]=$3; next }$3 in a' /tmp/input1.txt /tmp/input2.txt

- 编辑 -

  

我指的是没有提取到任何临时文件夹的压缩文件

awk 'FNR==NR { a[$1]=$3; next }
     $3 in a
     ' <(tar --to-stdout -xf input1.tar.gz) <(tar --to-stdout -xf input2.tar.gz)
  

man tar

   -O, --to-stdout
          extract files to standard output

您也可以使用<(tar -O -xf input1.tar.gz) <(tar -O -xf input2.tar.gz)