Autor Thema: Linux "grep" Befehl verstehen (Suchmuster)  (Gelesen 340 mal)

Offline ThomasMagnum

  • Full Member
  • ***
  • Beiträge: 120
Linux "grep" Befehl verstehen (Suchmuster)
« am: 28 Oktober 2018, 15:09:40 »
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

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17124
Antw:Linux "grep" Befehl verstehen (Suchmuster)
« Antwort #1 am: 28 Oktober 2018, 15:35:06 »
reicht dir das so

grep "[0-9].*:$" test.txt
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline zap

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2443
    • HMCCU
Antw:Linux "grep" Befehl verstehen (Suchmuster)
« Antwort #2 am: 29 Oktober 2018, 11:53:40 »
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.
CCU3 mit diversen Komponenten (Fenster, Rolladen, Themostate, Stromzähler, Steckdosen ...)
FHEM mit Raspi für den Rest (Sonos, AVR, Meteohub, Beacons, Heizung, Hue)
IOBroker VIS
Maintainer der Module FULLY, Meteohub und HMCCU (Schnittstelle CCU2 - FHEM = best of both worlds approach)