Linux - Geht Klammer einfügen mit "sed"?

flowII · 05. Dezember 2015

steh gerade auf dem schlauch

 

ich muss in einer csv-datei(unbekannter laenge) an erster stell der ersten zeile eine klammer einfuegen und an der letzten stelle der letzten zeile ein zeichen durch eine klammer ersetzen.

 

geht das mit sed ueberhaupt? 

Antworten

flowII · 06. Dezember 2015 · 0x hilfreich

ich wollte aus:

 



Baden-Württemberg (Stuttgart)
Bayern (München)
Berlin (Berlin)
Brandenburg (Potsdam)
Bremen (Bremen)
Hamburg (Hamburg)
Hessen (Wiesbaden)
Mecklenburg-Vorpommern (Schwerin)
Niedersachsen (Hannover)

 

ein dictionary basteln und ueber nacht ist so ein monstrum draus geworden:

 

cat laender | sed 's/\ (/\"\:\"/g;s/)/",/g;1s/\,/\}/1;s/^/\"/g' | tac | sed '1s/^/\{/1'

 

das muss doch in der bash auch einfacher gehen

 

EDIT: ich depp $s// ist ja die letzte zeile und 1s// die erste. also faellt schonmal das tac weg

 

cat laender | sed 's/\ (/\"\:\"/g;s/)/",/g;$s/\,/\}/1;s/^/\"/g;1s/^/\{/1'

burnred · 06. Dezember 2015 · 0x hilfreich

Ja, denn die Zeichen welche bei regulären Ausdrücken eine Sonderbedeutung haben, kannst du escapen also \( bzw. \) .

 
 

Schlaufuchs-Suche

 
Suchbegriff