Hallo zusammen,
aktuell möchte ich Linux besser verstehen und arbeite ein paar Aufgaben durch. Zu durchsuchen ist dabei unter Anderem eine Datei die je Reihe zu Begin eine Bezeichnung hat die mit einem ":" endet. Innehalb dieser Bezeichnung soll geprüft werden ob Ziffern von 0-9 vorkommen, egal an welcher Stelle.
Wenn ich nun per grep '*[:DIGIT:]*:' suche finde ich nichts, obwohl in der Datei drei Zeilen mit einem entsprechenden Muster zu finden sind.
Mein Suchmuster soll beliebig anfangen "*", dann eine Ziffer aufweisen "[:DIGIT:]", beliebig weitergehen "*" und mit einem ":" enden.
Kann mir hier jamand eine kleine Hilfe geben oder aufzeigen wo mein Fehler liegt.
Die vielen Hilfeseiten im Internet haben mich mehr verwirrt anstatt Klarheit geschaffen.
Vielen Dank vorab.
Gruß, Thomas
reicht dir das so
grep "[0-9].*:$" test.txt
oder vielleicht
grep "\d+" test.txt
wie so oft bei regulären Ausdrücken gibt es viele Wege , die zum Ziel führen.
Ich empfehle das Buch "mastering regular expressions", quasi das Standardwerk.