cat /path/to/file1 /path/to/file2 | awk '{if ($3~/^TCF/ || $3~/^GLI/) print $0;}' > /path/to/test1.txt
你知道怎么做:
在test1.txt输出中包含file1中的第一行? 并且,是否可以包括TCF和GLI来自file1还是file2?
非常感谢!
答案 0 :(得分:1)
尝试此命令:
awk '$3~/^TCF/ || $3~/^GLI/ || NR==1 { print FILENAME, $0 }' /path/to/file1 /path/to/file2 > /path/to/test1.txt
NR
是总输入流中的当前记录编号。FILENAME
是当前输入文件的名称。答案 1 :(得分:0)
awk '{
if ($3~/^TCF/ || $3~/^GLI/ || NR==1 )
print $0,FILENAME
}' /path/to/file1 /path/to/file2 >/path/to/test1.txt
答案 2 :(得分:0)
可以缩短一些
awk '{if ($3~/^TCF|^GLI/ || NR==1 ) print $0,FILENAME}' /path/to/file1 /path/to/file2 > /path/to/test1.txt