次の形式のファイルがあります。
1.0
2.0
3.0
4.0
5.0
1.0
awkの最初の行から各行の先頭までの値をコピーできますか?このように:
1.0 1.0
1.0 2.0
1.0 3.0
1.0 4.0
1.0 5.0
答え1
awk 'NR==1 {f=$1} {print f,$1}' file
出力:
1.0 1.0 1.0 2.0 1.0 3.0 1.0 4.0 1.0 5.0
現在の行番号(NR
)が1の場合は、$1
列1()を変数に保存しますf
。変数の内容f
と列1の内容を各行に印刷します。
答え2
sedコマンドでこれを実行しましたが、期待どおりに機能しました。
k=`sed -n 1p file`;sed "s/^/$k /g" file
出力
1.0 1.0
1.0 2.0
1.0 3.0
1.0 4.0
1.0 5.0