Wie entferne ich nur 0-9 Zeichen lange Zahlen aus einer Datei?

Wie entferne ich nur 0-9 Zeichen lange Zahlen aus einer Datei?

Wie können wir aus einer Datei nur die Zahlen entfernen, die 0,1,2,3,4,5,6,7,8,9 Zeichen lang sind? Ich meine die Zeilen, die diesem Muster entsprechen.

Beispiel für entfernbare Leitungen:

cat input.txt
1
123423113
8372
8472323

Beispiel für Zeilen, die nicht entfernt werden sollten:

cat input.txt
1a
1245d45
8565438753
b39592
3827495Hx

Antwort1

Verwendung von sed:

sed -i.bak -e '/^[0-9]\{1,9\}$/d' file

Verwendung von perl:

perl -i.bak -nle 'print unless /^[0-9]{1,9}$/' file

Antwort2

perl -i.bak -nle 'print unless /^[0-9]{0,9}$/' file

Sie haben darum gebeten, auch Zahlen mit der Länge Null (d. h. leere Zeilen) zu entfernen.

verwandte Informationen