Wie kann ich Leerzeichen in sed zuordnen? In meinen Daten möchte ich alle 3+ nachfolgenden Leerzeichen (Tabulator) abgleichen und durch 2 Leerzeichen ersetzen. Wie geht das?
sed
whitespace
Peter Smit
quelle
quelle
sed
ich[[:space:]]
da\s
nichts anfangen. Vielleicht\s
ist eine GNU sed Erweiterung?[[:space:]
könnte man verwenden,[[:blank:]]
was nur horizontale Tabulatoren und Leerzeichen (aber keine Zeilenumbrüche, vertikalen Tabulatoren usw.) zusammenbringt.Dies funktioniert unter MacOS 10.8:
quelle
sed "s/[[:space:]]\+/ /g"
ein oder mehrere Leerzeichen abgleichen.-E
Flagge ebenfalls.Einige ältere Versionen von sed erkennen \ s möglicherweise nicht als Leerzeichen-Matching-Token. In diesem Fall können Sie eine Folge von Leerzeichen und Tabulatoren mit '[XZ] [XZ] *' abgleichen, wobei X ein Leerzeichen und Z ein Tabulator ist.
quelle
quelle
sed
Systems? Wenn nicht, ist es möglicherweise erwähnenswert, wo dies in ähnlicher Weise funktioniert wie in den anderen Antworten, nur damit wir die Einschränkungen kennen und wo dies möglicherweise nicht das beabsichtigte Ergebnis hat.