[英]Multiple awk to print in the same line
我有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 行運行此塊NR>FNR
將為第二個文件打印一個空格嘗試這個
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; |tr '\n' ' '
只需添加一個tr
命令
tr '\n' ' '
通過 xargs 管道
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 | xargs
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.