← Back to team overview

sslug-teknik team mailing list archive

Re: kan man med sed g������������

 

David Bo Jensen skrev:
> 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
> 
> Bem�rk forskelligt antal linier for hver title.
> Ja, jeg kan l�se det med et bash script, men kan det l�ses enkelere med en 
> sed kommando? 
> 

awk med lidt minimal regular expressions.
forudsat "title" starter i første position
og at andre linier har mindst et blanktegn.

BEGIN { ORS="" }
# sæt output separator til tom i stedet for linieskift

/^[[:blank:]]/ {  # linier med blanktegn forrest
  print
  next
}
NF>0 {  # resterende ikke tomme linier:
    print "\n"
    print
    next
}
END { print "\n" }



som su ser at mit svar og andre, så skal du være meget mere
præcis i definition af input... ;)


References