Hi Joachim! On Thu, 31 May 2007, Joachim Marx wrote:
" ";"text";"text" " ";"text";"text"
Mir fehlt noch eine Lösung für folgende Aufgabenstellung: Ersetze die Leerzeichen in der 1. Spalte durch eine Zahl, die die Anzahl der Leerzeichen wiedergibt.
Das obige Beispiel würde nach der Transformation so aussehen:
"2";"text";"text" "4";"text";"text"
Kann ich das mit sed machen? (Also mit sed die Leerzeichen zählen lassen?) Hat jemand eine andere Idee?
Ich glaube nicht, dass sed das kann. Aber mit ein bißchen vim vodoo geht folgendes: :%s/^"\zs *\ze";.*$/\=strlen(submatch(0)) Das ersetzt in einer Datei alle Leerzeichen durch ihre Anzahl, wenn die Leerzeichen am Anfang einer Zeile nach einem '"' stehen. Man könnte das jetzt noch scripten, durch einen simplen Aufruf: vim -c ':%s/^"\zs *\ze";.*$/\=strlen(submatch(0))' -c ':wq' <dateiname> (in einer Zeile) Mit perl oder awk geht das bestimmt auch, da fällt mir aber auf die Schnelle keine Lösung ein. Mit freundlichen Grüßen Christian -- hundred-and-one symptoms of being an internet addict: 125. You begin to wonder how often it REALLY is necessary to get up and shower or bathe. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org