← Back to team overview

sslug-teknik team mailing list archive

Re: kan man med sed gøre følgende

 

"David Bo Jensen" <dbj@xxxxxxxxxxxxx> writes:

> Jeg har følgende indhold i min testfil:
>
> title 1:
>   line 1 for title 1
>   line 2 for title 1
> title 2:
>   line 1 for title 2
>   line 2 for title 2
>   line 3 for title 2
> title 3:
>   line 1 for title 1
>
> Jeg vil gerne have det konverteret til:
>
> title 1:_ line 1 for title 1_  line 2 for title 1
> title 2:_ line 1 for title 2_  line 2 for title 2_  line 3 for title 2
> title 3:_  line 1 for title 1

Hvad betyder _ i ovenstående uddata, og hvordan kan man se på inddata at
der skal være et ekstra mellemrum efter "title 3:_", eller måske er
spørgsmålet hvorfor der kun er ét mellemrum efter "title 1:_" og "title
2:_", ellers er de to mellemrum i starten af alle "  line"...-linierne
jo bevaret? 

> Ja, jeg kan løse det med et bash script, men kan det løses enkelere med en 
> sed kommando? 

Sikkert, men jeg er ikke god nok til sed, jeg ville bruge perl:
perl -pe 'chomp; if (/^title/) { print "\n" } else { print "_" }'

kommer ret tæt på.

.Henrik

-- 
"Unix, Perl og Ole har man for at slippe for at gøre
 arbejdet selv."


References