1. ホーム
  2. bash

[解決済み] コマンドラインから2つの行を1つに結合する方法は?

2022-04-20 08:23:53

質問

次のような形式のテキストファイルがあります。1行目が"KEY"、2行目が"VALUE"になっています。

KEY 4048:1736 string
3
KEY 0:1772 string
1
KEY 4192:1349 string
1
KEY 7329:2407 string
2
KEY 0:1774 string
1

キーと同じ行に値が必要です。だから、出力は次のようになるはずだ...

KEY 4048:1736 string 3
KEY 0:1772 string 1
KEY 4192:1349 string 1
KEY 7329:2407 string 2
KEY 0:1774 string 1

のような区切り文字があれば、より良いのですが。 $ または , :

KEY 4048:1736 string , 3

2つの行を1つにまとめるにはどうしたらいいですか?

解決方法は?

awkを使用します。

awk 'NR%2{printf "%s ",$0;next;}1' yourFile

注意:出力の最後に空白行があります。

をセッドします。

sed 'N;s/\n/ /' yourFile