erste Zeile der Datei nur löschen, wenn sie leer ist, mit sed

erste Zeile der Datei nur löschen, wenn sie leer ist, mit sed

Ich habe eine Lösung dafür in awk:

awk '{if (NR==1 && NF==0) next};1' somefile

konnte aber keins finden, das in funktionierte sed. Beispiel:

sed -i.bak '/^$/{1,1d;}' somefile

hat am Ende die erste leere Zeile gelöscht, die es gefunden hat (ich bin kein sedExperte, also habe ich einfach ein paar Dinge ausprobiert). Der Vorteil sedin diesem Fall ist, dass ich dies ohne temporäre Dateien tun könnte, also an Ort und Stelle.

Antwort1

Probier diese:

sed '1{/^$/d}' file

Antwort2

Eine Alternative:

sed '0,/^$/d' Datei

Und als gewagte Vermutung möchten Sie vielleicht alle Leerzeilen vor der ersten Zeile (die Zeichen enthält) löschen. Wenn das der Fall ist, können wir Folgendes versuchen:

sed '1,/^$/d' Datei

verwandte Informationen