awkを使用して2行ごとに数字を追加します。

awkを使用して2行ごとに数字を追加します。

2行ごとに数字を足して合計を印刷する必要があります。

前任者:

x  
1  
2  
y  
3  
4  

以下を出力する必要があります。

x 3  
y 7

ベストアンサー1

以下は1つのアプローチです。pr便利そしてアイク。

次の入力を使用してください。

$ cat ip.txt 
x  
1  
2  
y  
3  
4  

まず、入力ファイルを3列の入力に変換してからawkを使用します。

$ pr -3at ip.txt | awk '{print $1, $2+$3}'
x 3
y 7

別の方法はgetline <var>:

この方法で使用されるgetlineコマンドは、変数NR、FNR、およびRT(もちろんvarも含む)のみを設定します。レコードはフィールドに分割されないため、フィールド値($ 0を含む)とNF値は変更されません。

$ awk '{getline a; getline b; print $0 a+b}' ip.txt 
x  3
y  7

おすすめ記事