problem čije je rješenje awk ili sed

Razmjena savjeta i trikova o podešavanju sustava i programa.

Moderator/ica: Moderatori/ce

Odgovori
Avatar
4ndY
Moderator
Postovi: 4060
Pridružen/a: 15 svi 2008, 18:05
Spol: M
OS: Fedora/KDE
Lokacija: Hamburg, DE
Kontakt:

problem čije je rješenje awk ili sed

Post Postao/la 4ndY »

Ovako, transformiram neki tekst uz pomoć awk-a i sed-a, međutim, jednu transformaciju ne znam kako bih riješio. N00b sam u tim alatima, pa vjerujem kako će netko izvući 1liner iz rukava:

Želim da mi svaku rečenicu pukne u novi red, tj. kad naiđe na točku+razmak+veliko_slovo/broj da prebaci veliko slovo i sve nakon njega u novi red.

Npr.

Kod: Označi sve

 "Ovo je samo. Test. Jedan. Npr. dva. Tri? Četiri! Kraj"
daje:

Kod: Označi sve

 Ovo je samo.
Test.
Jedan.
Npr. dva.
Tri?
Četiri!
Kraj
:misli

EDIT: Mislim da sam ga "izmuzao", valjda radi dobro:

Kod: Označi sve

 echo "Ovo je samo. Test. Jedan. Npr. dva. Tri? Četiri! Kraj" | sed 's/\([\.!?]\) \([A-Z0-9]\)/\1\n\2/g'
A neutron walks into a bar; he asks the bartender, 'How much for a beer?' The bartender looks at him, and says 'For you, no charge.'
Avatar
glaskoncILLa
Postovi: 5678
Pridružen/a: 28 vel 2009, 16:36

Re: problem čije je rješenje awk ili sed

Post Postao/la glaskoncILLa »

sed 's/\. /\n/g' file

istina, ovo ne gleda na veliko slovo, nego samo na tocka-razmak kombinaciju i to zamijeni sa new lineom..
...."Have you mooed today?"...
..It’s that time of the decade: I’m reinstalling Debian..
Odgovori