cat /path/to/file1 /path/to/file2 | awk '{if ($3~/^TCF/ || $3~/^GLI/) print $0;}' > /path/to/test1.txt
包括與AWK第一線,並設置輸出基於文件名
你知道如何:
包括在test1.txt的輸出file1中的第一行? 而且,如果TCF和GLI來自file1或file2,是否可以包含?
非常感謝!
cat /path/to/file1 /path/to/file2 | awk '{if ($3~/^TCF/ || $3~/^GLI/) print $0;}' > /path/to/test1.txt
包括與AWK第一線,並設置輸出基於文件名
你知道如何:
包括在test1.txt的輸出file1中的第一行? 而且,如果TCF和GLI來自file1或file2,是否可以包含?
非常感謝!
可以縮短一些
awk '{if ($3~/^TCF|^GLI/ || NR==1) print $0,FILENAME}' /path/to/file1 /path/to/file2 > /path/to/test1.txt
嘗試此命令:
awk '$3~/^TCF/ || $3~/^GLI/ || NR==1 { print FILENAME, $0 }' /path/to/file1 /path/to/file2 > /path/to/test1.txt
NR
是總輸入流中的當前記錄號。FILENAME
是當前輸入文件的名稱。awk '{
if ($3~/^TCF/ || $3~/^GLI/ || NR==1)
print $0,FILENAME
}' /path/to/file1 /path/to/file2 >/path/to/test1.txt
我想補充'{打印文件名,$ 0}'顯示文件名,按第二個問題。 – fedorqui