sed: alle Zeilen ab dem Muster briefe loeschen
es liegt eine Datei vor bei der in jeder Zeile ab "briefe" bis zum Zeilenende alles gelöscht werden soll: [...] 22989briefe_NP2001.04.12.pdf 22990briefe_NP2001.04.25.pdf 22991briefe_NP2001.04.12.pdf 22992briefe_NP2001.05.09.pdf 22922briefe_NP2001.04.12.pdf 22994briefe_NP2001.04.12.pdf [...] wobei die Anzahl der Ziffern am Anfang schwankt. Das Ergebnis soll sein: 22989 22990 22991 22992 22922 22994 Wie gehts mit sed? Ich habe mir schon einen abgebrochen mit "D": sed -e '/briefe/D' löscht leider beliebige Zeilen mit "briefe". danke schonmal Ekkard
[...] 22989briefe_NP2001.04.12.pdf 22990briefe_NP2001.04.25.pdf 22991briefe_NP2001.04.12.pdf 22992briefe_NP2001.05.09.pdf 22922briefe_NP2001.04.12.pdf 22994briefe_NP2001.04.12.pdf [...]
wobei die Anzahl der Ziffern am Anfang schwankt. Das Ergebnis soll sein:
22989 22990 22991 22992 22922 22994
Wie gehts mit sed? Ich habe mir schon einen abgebrochen mit "D": sed -e '/briefe/D' löscht leider beliebige Zeilen mit "briefe".
Darf's auch perl sein: perl -nle 's/^(\d+)briefe.*/$1/; print;' < datei Gruß Frank
Ekkard Gerlach wrote:
es liegt eine Datei vor bei der in jeder Zeile ab "briefe" bis zum Zeilenende alles gelöscht werden soll:
[...] 22989briefe_NP2001.04.12.pdf 22990briefe_NP2001.04.25.pdf 22991briefe_NP2001.04.12.pdf 22992briefe_NP2001.05.09.pdf 22922briefe_NP2001.04.12.pdf 22994briefe_NP2001.04.12.pdf [...]
wobei die Anzahl der Ziffern am Anfang schwankt. Das Ergebnis soll sein:
22989 22990 22991 22992 22922 22994
Wie gehts mit sed? Ich habe mir schon einen abgebrochen mit "D": sed -e '/briefe/D' löscht leider beliebige Zeilen mit "briefe".
danke schonmal Ekkard
awk -F _ '{print $1}' datei Gruss, Claude
Am Freitag, 22. Juli 2005 17:56 schrieb Claude Leniger:
Ekkard Gerlach wrote:
22994briefe_NP2001.04.12.pdf [...]
wobei die Anzahl der Ziffern am Anfang schwankt. Das Ergebnis soll sein:
22989
awk -F _ '{print $1}' datei
das kann nicht gehen, da dann der '_' zum Trenner wird und somit das $1 zu "22994briefe" und $2 zu "NP2001.04.12.pdf" wird. das briefe soll ja auch entfernt werden. daher bei sed einfach ein: sed -e 's/briefe.*$//' datei also einfach nach briefe noch beliebig viele Zeichen matchen Andreas
Andreas Loesch wrote:
Am Freitag, 22. Juli 2005 17:56 schrieb Claude Leniger:
Ekkard Gerlach wrote:
22994briefe_NP2001.04.12.pdf [...]
wobei die Anzahl der Ziffern am Anfang schwankt. Das Ergebnis soll sein:
22989
awk -F _ '{print $1}' datei
das kann nicht gehen, da dann der '_' zum Trenner wird und somit das $1 zu "22994briefe" und $2 zu "NP2001.04.12.pdf" wird. das briefe soll ja auch entfernt werden.
daher bei sed einfach ein: sed -e 's/briefe.*$//' datei also einfach nach briefe noch beliebig viele Zeichen matchen
Andreas
dann nimm doch einfach als Trenner briefe awk -F briefe '{print $1}' datei Claude
Hi Eccard, Am Freitag, 22. Juli 2005 13:55 schrieb Ekkard Gerlach:
es liegt eine Datei vor bei der in jeder Zeile ab "briefe" bis zum Zeilenende alles gelöscht werden soll:
[...] 22989briefe_NP2001.04.12.pdf 22990briefe_NP2001.04.25.pdf 22991briefe_NP2001.04.12.pdf 22992briefe_NP2001.05.09.pdf 22922briefe_NP2001.04.12.pdf 22994briefe_NP2001.04.12.pdf [...]
wobei die Anzahl der Ziffern am Anfang schwankt. Das Ergebnis soll sein:
22989 22990 22991 22992 22922 22994
wie wäre es mit: sed 's/briefe.*//' datei.txt sed 's/briefe_NP.*//' datei.txt Gued gohn Achim
participants (5)
-
Andreas Loesch
-
Claude Leniger
-
Ekkard Gerlach
-
Frank Reifenstahl
-
Joachim Tüns