由于权限问题,我有一个文件无法进行任何修改。
因此,我只能使用工具及其视图选项来可视化文件,该工具将其内容打印到带有8个制表符分隔列的标准输出:
foo-tool view file1.txt
ALICE . CANDY 1990 . 76 76 78
MARK . CARAMEL 1991 . 45 88 88
CLAIRE . SALTY XXX . 77 82 12
我有另一个文件要比较它
1st,6th and 7th
列
第一、第六和第七
列
file1.txt
并添加
3rd and 4th
列
文件1.TXT
到
file2.txt
如果这些列中有任何匹配。
file2.txt
ALICE . CANDY 1990 . 76 76 97
MARK . CARAMEL 1991 . 45 88 87
BLAINE . SALTY XXX . 77 82 10
如果我能打开
文件1.TXT
我会这样做,而不仅仅是标准输出:
awk 'NR==FNR { a[$1,$6,$7] = $0; next }($1,$6,$7) in a { print a[$1,$6,$7], $3, $4 }' file1.txt file2.txt
所以输出是:
ALICE . CANDY 1990 . 76 76 78 CANDY 1990
MARK . 54 1991 . 45 88 88 CARAMEL 1991
但是,因为我不能用
standard output
属于
文件1.TXT
作为一个文件,我一直在研究如何继续下去。
我试图打开它并指导它的标准输出,但它不起作用:
foo-tool view file1.txt | awk 'NR==FNR { a[$1,$6,$7] = $0; next }($1,$6,$7) in a { print a[$1,$6,$7], $3, $4 }' ARG[$1] file2.txt
如何将标准输出作为awk中的一个文件输入传递给awk?