Ich benötige einen Einzeiler, um die ersten fünf Zeichen in einer Zeile einer Textdatei zu entfernen. Wie kann ich das mit sed machen?
Antworten:
sed 's/^.....//'
meint
Ersetzen Sie ("s", ersetzen Sie) den Zeilenanfang und dann 5 Zeichen (".") durch nichts .
Es gibt kompaktere oder flexiblere Möglichkeiten, dies mit sed oder cut zu schreiben.
sed 's/.$//'
cut
besser ist
cut
behandelt GNU alle Zeichen als Bytes, auch wenn Sie die -c
Option verwenden. GNU cut
unterstützt keine Multi-Byte-Zeichen und wird auf absehbare Zeit wahrscheinlich keine Multi-Byte-Zeichen unterstützen
sed 's/^.\{,5\}//' file.dat
{,5}
), dies ist GNU-spezifisch. Ein Ausdruck, der auf beiden funktioniert, wäresed 's/^.\{5\}//' file.dat
awk '{print substr($0,6)}' file