Verwenden Sie sed, um alle führenden / folgenden Leerzeichen in einer Textdatei zu löschen

8

Datei1:

%Vor%

Wie löscht man die führenden / nachgestellten Leerzeichen in dieser Datei mit sed - mit einem Befehl (keine Zwischendateien) ?

Ich habe momentan:

%Vor%

Für führende Leerzeichen.

%Vor%

Und das für nachfolgende Leerzeichen.

    
user191960 20.10.2009, 08:06
quelle

4 Antworten

10

Sie haben es fast verstanden:

%Vor%

Darüber hinaus gibt es bei einigen Varianten von sed auch eine Option zum Bearbeiten inline:

%Vor%     
mouviciel 20.10.2009, 08:09
quelle
7

einfacher Weg, mit awk

%Vor%

oder

%Vor%     
ghostdog74 20.10.2009 08:11
quelle
3
%Vor%

Ehrlich gesagt, ich weiß, dass Perl das beste umsetzt, also finde ich perl -lape viel einfacher zu benutzen als sed -e .

Um die ursprüngliche Frage zu beantworten, können Sie sed mehrere Operationen ausführen lassen:

%Vor%

Anscheinend können Sie auch die zwei Substitutionen in eine Zeichenfolge setzen und sie durch ein Semikolon trennen, wie in einer anderen Antwort angegeben.

    
Ryan Thompson 27.10.2009 06:59
quelle
0

Beachten Sie, dass im allgemeinen Fall, in dem mehrere Filter nacheinander auf eine Eingabedatei angewendet werden, ohne Zwischendateien zu verwenden, die Verwendung von Pipes die Lösung ist:

%Vor%

Offensichtlich werden sie hier nicht benötigt, weil ein Aufruf von sed ausreichend ist, aber wenn der zweite sed Befehl etwas anderes ist, wie uniq oder sort, dann ist dieses Muster das richtige.

    
Ryan Thompson 22.02.2013 01:25
quelle

Tags und Links