2010-08-26 24 views
13
Datei entfernen

ich folgenden sed-Befehl verwenden, um die line number Zeichenfolge aus der Datei zu entfernensed + String nur in der letzten Zeile der

sed -i s'/line number//g' file 

aber, was ich brauche in sed Syntax ändern, um die line number zu entfernen nur wenn es in der letzten Zeile der Datei existiert?

Antwort

23

Ich bin nicht sicher, ich voll und ganz verstehe Ihre Frage, aber dies kann Ihnen helfen:

sed -i '$ s/line number//g' file 

Diese Substitution durchführen wird nur auf letzte Zeile (wegen $), line number durch nichts zu ersetzen.

man sed, Abschnitt Adressen kann Ihnen helfen zu verstehen, wie Sie sed Befehle auf einen Teil des Textes anwenden.

1

Für diejenigen, die auf SunOS sind die nicht-GNU ist, wird der folgende Code helfen: mit der BSD-Version ersetzt

sed '$d' tmp.dat > test.dat 
+0

Für diejenigen neugierig, '/ bin/sed' auf OmniOS/Illumos hat sed (zusätzlich zu GNU sed), wo Scharrons Antwort funktioniert. – user121391

Verwandte Themen