Suche…


Syntax

  • -a - (BSD sed) Alle Dateien erstellen / abschneiden, die vor der Verarbeitung geschrieben wurden
  • -E | -r - Verwenden Sie erweiterte reguläre Ausdrücke
  • -i | -I - Weitere Informationen finden Sie unter In-Place-Bearbeitung
  • -l - (BSD sed) Verwendet die gepufferte Ausgabe
  • -l length - (GNU Sed) Geben Sie die Länge l Befehlszeilenumbruch
  • -s - (GNU sed) Behandelt Dateien als separate Streams
  • -u - Die Ausgabe nicht puffern
  • -z - (GNU sed) Verwenden Sie das NUL-Zeichen, um Datensätze zu trennen
  • --quiet | --silent - (GNU sed) Synonyme für -n
  • --expression = Befehl - (GNU sed) Synonym für -e
  • --file = Befehlsdatei - (GNU sed) Synonym für -f
  • --follow-symlinks - (GNU sed) Folge den Symlinks
  • --in-place [= Erweiterung] - (GNU sed) Synonym für -i
  • --line-length = length - (GNU sed) Synonym für -l
  • --separate - (GNU sed) Synonym für -s
  • --unbuffered - (GNU sed) Synonym für -u
  • --null-data - (GNU sed) Synonym für -z
  • --help - (GNU sed) Verwendung drucken
  • --version - (GNU sed) Druckversion

Bemerkungen

Die Option -E soll in der nächsten Hauptversion standardisiert werden, siehe entsprechende Ausgabe .

Erstellung von Dateien verzögern / abschneiden

Dateien, die mit dem Befehl w geschrieben werden, werden vor der Ausführung von Befehlen erstellt / abgeschnitten.

$ sed 'w created-file' < /dev/null && ls created-file && rm created-file
created-file

Vom Standard:

Jede Datei wird erstellt, bevor die Verarbeitung beginnt. Implementierungen müssen mindestens zehn Argumente für die Datei im Skript unterstützen. Die tatsächliche Anzahl (größer oder gleich 10), die von der Implementierung unterstützt wird, ist nicht angegeben. Die Verwendung des Parameters wfile bewirkt, dass diese Datei anfänglich erstellt wird, wenn sie nicht vorhanden ist, oder den Inhalt einer vorhandenen Datei ersetzen soll.


BSD sed bietet die Option -a , um das Erstellen / Abschneiden von Dateien zu verzögern, bis sie mit dem Befehl w .

$ if sed -a 'w created-file' < /dev/null && [ ! -e created-file ]; then
>       echo The file was not created
> fi
The file was not created

'l' Zeilenumbruch

Die Länge des Zeilenumbruchs bei Verwendung des Befehls l ist durch die Implementierung definiert.

Vom Standard:

Lange Zeilen sind zu falten, wobei der Punkt der Faltung durch das Schreiben von a gefolgt von a gekennzeichnet ist; Die Länge, bei der die Faltung erfolgt, ist nicht angegeben, sollte jedoch für das Ausgabegerät geeignet sein.


GNU sed bietet die Option -l , um die Länge anzugeben, in der lange Zeilen beim Drucken mit dem Befehl l sollen. Der Standardwert ist siebzig Zeichen.

$ yes | head -c100 | tr '\n' ' ' | sed -n l | head -n1 | wc -c
      71
$ yes | head -c100 | tr '\n' ' ' | sed -nl50 l | head -n1 | wc -c
      51

BSD sed teilt lange Zeilen mit der von der Umgebungsvariablen COLUMNS bereitgestellten Anzahl auf. Wenn COLUMNS nicht COLUMNS ist, wird die Breite der Klemmen getrennt. Wenn COULMNS nicht angegeben wird und die Ausgabe kein Terminal ist, werden standardmäßig 60 Zeichen verwendet.

$ yes | head -c100 | tr '\n' ' ' | sed -n l | head -n1 | wc -c
      61
$ yes | head -c100 | tr '\n' ' ' | COLUMNS=50 sed -n l | head -n1 | wc -c
      51
$ yes | head -c100 | tr '\n' ' ' | sed -n l | head -n1
y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y\
 y y y y y y y y y y $


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow