我有5个文件
a.txt
b.txt
c.txt
d.txt
e.txt
使用的模式
awk 'NR==21 {print $1}' a.txt; awk 'NR==21 {print $1}' b.txt; awk 'NR==21 {print $1}' c.txt; awk 'NR==21 {print $1}' d.txt; awk 'NR==21 {print $1}' e.txt;
输出
a
b
c
d
e
但我需要它
a b c d e
有人可以帮帮我吗?
最佳答案
您不需要多个 awk。您实际上可以将它们组合在一个 awk 中:
awk FNR==21 {if (NR>FNR) printf OFS; printf $1}' {a,b,c,d,e}.txt
a b c d e
FNR==21
将为每个输入文件中的第 21 行运行此 blockNR>FNR
将为第二个文件打印一个空格
关于linux - 多个awk在同一行打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27854980/