Wenn Sie im Allgemeinen eine Datei mit dem Inhalt des Formulars abcde haben , wobei Abschnitt a vor Muster b steht , Abschnitt c vor Muster d steht , dann Abschnitt e folgt und Sie die folgenden sed
Befehle anwenden , erhalten Sie die folgenden Ergebnisse.
In dieser Demonstration wird die Ausgabe durch dargestellt => abcde
, wobei die Buchstaben zeigen, welche Abschnitte in der Ausgabe enthalten wären. Somit ae
zeigt eine Ausgabe nur der Abschnitte a und e , ace
wären die Abschnitte a , c und e usw.
Beachten Sie, dass wenn b
oder d
in der Ausgabe erscheinen, dies die Muster sind, die erscheinen (dh sie werden so behandelt, als wären sie Abschnitte in der Ausgabe).
Verwechseln Sie das /d/
Muster auch nicht mit dem Befehl d
. Der Befehl ist bei diesen Demonstrationen immer am Ende. Das Muster liegt immer zwischen dem //
.
sed -n -e '/b/,/d/!p' abcde
=> ae
sed -n -e '/b/,/d/p' abcde
=> bcd
sed -n -e '/b/,/d/{//!p}' abcde
=> c
sed -n -e '/b/,/d/{//p}' abcde
=> bd
sed -e '/b/,/d/!d' abcde
=> bcd
sed -e '/b/,/d/d' abcde
=> ae
sed -e '/b/,/d/{//!d}' abcde
=> abde
sed -e '/b/,/d/{//d}' abcde
=> Ass
extra characters at the end of d command
Fehler zu vermeiden , müssen Sie vor den schließenden Klammern Semikolons hinzufügensed '/^#/,/^\$/{/^#/!{/^\$/!d;};}' file.txt