AWK - 移动区域(修正版)

Ted*_*345 1 awk

我有一个文件:

A B C D E
jeden dwa- trzy cztery piec
czarny) bialy zielony niebieski siwy
czarny) bialy zielony niebieski siwy
kot pies mysz osa byk
jeblon grusza czeresnia- sliwa orzech
tulipan narcyz filolek) irys bez
sliwka jabkko pomarancza kiwi arbuz
5 A B C D E
sliwka jabkko pomarancza kiwi arbuz-
marek ewa ela tomek) romek
Run Code Online (Sandbox Code Playgroud)

我试过了:

awk 'c-->0;/- /{c=1; print}' file
Run Code Online (Sandbox Code Playgroud)

如何改进这个例子,获得这样的结果?我想得到这个结果:

A B C D E
jeden dwa-czarny) trzy cztery piec
 bialy zielony niebieski siwy
czarny) bialy zielony niebieski siwy
kot pies mysz osa byk
jeblon grusza czeresnia-filolek) sliwa orzech
tulipan narcyz  irys bez
sliwka jabkko pomarancza kiwi arbuz
5 A B C D E
sliwka jabkko pomarancza kiwi arbuz-tomek)
marek ewa ela  romek
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助.

Ken*_*ent 6

感谢@ fedorqui的"解密",我认为播放RS可以使问题更容易解决.我想出了这个单行:(它与我的gawk合作)

awk -v RS='\\S+\\)' -v ORS="" '{$0=sub(/-/,"-"RT)?$0:$0RT}7' file
Run Code Online (Sandbox Code Playgroud)

测试:

kent$  cat f
A B C D E
jeden dwa- trzy cztery piec
czarny) bialy zielony niebieski siwy
czarny) bialy zielony niebieski siwy
kot pies mysz osa byk
jeblon grusza czeresnia- sliwa orzech
tulipan narcyz filolek) irys bez
sliwka jabkko pomarancza kiwi arbuz
5 A B C D E
sliwka jabkko pomarancza kiwi arbuz-
marek ewa ela tomek) romek

kent$  awk -v RS='\\S+\\)' -v ORS="" '{$0=sub(/-/,"-"RT)?$0:$0RT}7' f
A B C D E
jeden dwa-czarny) trzy cztery piec
 bialy zielony niebieski siwy
czarny) bialy zielony niebieski siwy
kot pies mysz osa byk
jeblon grusza czeresnia-filolek) sliwa orzech
tulipan narcyz  irys bez
sliwka jabkko pomarancza kiwi arbuz
5 A B C D E
sliwka jabkko pomarancza kiwi arbuz-tomek)
marek ewa ela  romek
Run Code Online (Sandbox Code Playgroud)