前任者:
入力ファイル
******************
.WER
+ aaa bbb ccc
+ ddd eee
+ fff ggg hhh
******************
.SDF
+ zzz xxx yyy
+ iii
+ kkk lll
******************
.XCV
+ uuu vvv ggg
+ hhh qqq
+ rrr ttt jjj
******************
希望の出力:
******************
.WER aaa bbb ccc ddd eee fff ggg hhh
******************
.SDF zzz xxx yyy iii kkk lll
******************
.XCV uuu vvv ggg hhh qqq rrr ttt jjj
******************
「+」パターンに一致する行を前の行に追加し、「+」を空白に置き換えたいです。
誰かがawkまたはsed(またはgrep)コマンドを使用してこの問題を解決できますか?
私はLinux初心者です。コマンドライン全体について詳しく説明してください。
ベストアンサー1
質問に/ linuxタグを付けたので、おそらくGNUを使用しているでしょうsed
。その後、この-z
オプションを使用して1つのバッファでファイル全体を処理し、次のものを使用できます。
sed -z 's/\n+//g'
これは、次のs
各改行文字()をnullに置き換えることを意味します。つまり、前の行から始まる行をリンクします。\n
+
+
+