perl und regexp


mfgjens

Grünschnabel
Hi @all,
ich habe hier ein kleines Problem mit meinem sed Befehl.
Ich versuche jede gruppe von SPACES mit einem Komma zu ersetzen.
Habe dazu auch den passenden Befehl, jedoch verliere ich dann meine Zeilenumbrueche.
Die sollen aber unbedingt beibehalten werden.
Hat jemand eine Vorschlag?
Was mache ich falsch?
hier mein Befehl:
perl -pi.bak -e 's/(\s)+/,/g' file

Bin auch offen fuer andere Loesungsansaetze ;-)

Vielen Dank
mfgjens
 

renee

Erfahrenes Mitglied
Newlines zählen zu den Whitespaces, die unter \s zusammengefasst sind.

Probier mal:

perl -pi.bak -e 's/[ \t]+/,/g' file
 

mfgjens

Grünschnabel
Hallo Renee,
dank dir fuer deine Antwort, aber \t hilft mir nichts.
Keine reaktion auf den Befehl.
Ich hatte auch schon \W probiert, leider auch ohne erfolg :-(
Andere Ideen?
Ich will doch nur die bloeden spaces heraus bekommen und durch Kommas ersetzen :confused:
 
Zuletzt bearbeitet:

mfgjens

Grünschnabel
Juhu,
habe eine Loesung gefunden die funktioniert!!

perl -pi.bak3 -e 's/[ \r\t\f]+/,/g'

damit hat es bei mir funktioniert, alle spaces sind weg
und durch Kommas ersetzt.

mfgjens