2行を1つにマージし、Unixで終了パターンABCを使用して正しい行を使用したくない[閉じる]

2行を1つにマージし、Unixで終了パターンABCを使用して正しい行を使用したくない[閉じる]

次のファイルがあります。

07-10-2021-ABC-hello-203455
07-10-2021-Aer-hello-2034
55
07-10-2021-Aad-hello-20345
5
07-10-2021-dafC-hello-203
455

私が望む出力は次のとおりです。

07-10-2021-ABC-hello-203455
07-10-2021-aer-hello-203455
07-10-2021-Aad-hello-203455
07-10-2021-dafc-hello-203455

確認するのに役立ちますか?試してみましたがsed成功しませんでした。正しい行をスキップしたいので、unixで誤った2行をマージする必要があります。

ベストアンサー1

plus 1を使用してこのソリューションを見つけました。sedawk

$ sed 's/^\([0-9]*\)$/#\1/' file | awk -v RS= '{ gsub(/\n#/, "", $0); print }'
07-10-2021-ABC-hello-203455
07-10-2021-Aer-hello-203455
07-10-2021-Aad-hello-203455
07-10-2021-dafC-hello-203455

1私はそれだけを確信していますsed または awk、しかし、これまで正しく動作しませんでした。

おすすめ記事