smirnoff
Goto Top

Alle Zeilen in einer Textdatei löschen, wenn diese NUR aus Ziffern bestehen und die Länge von 1 bis 9 haben. Wie?

Hallo an alle!

Ich habe eine Frage.

Ich habe z.B.eine Textdatei, die aus mehreren Zeilen besteht. Die Länge aller Zeilen variert sich zwischen 1 und 30. Dazwischen gibt's viele Zeilen, die NUR aus Zifffern bestehen.

Z.B.:

12345
sdvvber
dfgefg345335
12334567
sdve345ztdfb
123456789
stg3tjigkeb
rgegergr
54585989385
776756873637676067

Ich will NUR die Zeilen, die:
1) aus Ziffern bestehen UND
2) deren Länge zwischen 1 und 9 Zeichen ist
löschen.

D.h. am Ende soll bleiben:

sdvvber
dfgefg345335
sdve345ztdfb
stg3tjigkeb
rgegergr
54585989385
776756873637676067

Ich habe folgendes versucht:

sed ‘/^[0-9]\{1,9\}$/ d’ test.txt > neu.txt

Linux spuckt ein Fehler aus:
sed: -e Ausdruck #1, Zeichen 14: Fehlender Befehl

Kann mir jemand helfen?

Content-ID: 325926

Url: https://administrator.de/forum/alle-zeilen-in-einer-textdatei-loeschen-wenn-diese-nur-aus-ziffern-bestehen-und-die-laenge-von-1-bis-9-haben-325926.html

Ausgedruckt am: 22.04.2025 um 18:04 Uhr

Kraemer
Kraemer 10.01.2017 um 09:02:36 Uhr
Goto Top
^[0-9]{1,9}$
Smirnoff
Smirnoff 10.01.2017 aktualisiert um 09:20:00 Uhr
Goto Top
geht nicht:

sed ‘/^[0-9]{1,9}$/ d’ test.txt > neu.txt

sed: -e Ausdruck #1, Zeichen 10: Fehlender Befehl

Wenn es hilft: Microsoft Linux Ubuntu (Windows 10). Txt gespeichert als Win-1252 LF only.

Interessant, dass der Befehl:

sed -r '/^[0-9]+$/d' test.txt > neu.txt  

funktioniert (alle Zeilen mit Ziffern löschen)
Smirnoff
Smirnoff 10.01.2017 um 09:26:45 Uhr
Goto Top
Ich habe Fehler gefunden:

sed '/^[0-9]\{8,9\}$/ d' test.txt > neu.txt
Kraemer
Kraemer 10.01.2017 um 10:17:39 Uhr
Goto Top
cat test.txt | grep -E '^[0-9]{1,9}$' > neu.txt  
131381
131381 10.01.2017 um 10:40:27 Uhr
Goto Top
Zitat von @Kraemer:

cat test.txt | grep -E '^[0-9]{1,9}$' > neu.txt  
Er will die Zeilen löschen, es würde hier also Parameter -v fehlen face-wink.

Gruß mik
Kraemer
Kraemer 10.01.2017 um 10:41:52 Uhr
Goto Top
Zitat von @131381:
Er will die Zeilen löschen, es würde hier also Parameter -v fehlen face-wink.
oops - der Parameter ist mir irgendwie flöten gegangen ...