Hallo zusammen,
ich möchte mit Hilfe von 'du -ch .' Verzeichnisse und Dateien finden, die (evtl. unnötig) viel Platz verschwenden. Das mag bestimmt auch einfacher gehen (find etc) aber mir geht es primär auch darum, meine regex-Kenntnisse zu verbessern. Der Ouput von 'du -ch . |less' sieht ja z.B. folgendermaßen aus:
1 2 3 4 5 | 48K ./usr/lib/dbus-1.0 56K ./usr/lib/update-notifier 2,4M ./usr/lib/python3.5/lib-dynload 164K ./usr/lib/python3.5/http/__pycache__ 368K ./usr/lib/python3.5/http |
Mein Ziel ist es nun, alle Zeilen zu finden, die mit einer 2 oder 3 stelligen Zahl (Kommazahlen lassen wir mal vorerst außen vor) beginnen, gefolgt von einem M oder G. Versucht habe ich es mit folgender regex, die jedoch nicht funktioniert:
1 | du -ch . |grep '^\d{2,3}[MG]\s' |less |
Auch andere Quantifier für die Digits wie * oder + funktionieren nicht, auch nicht, wenn ich die geschweiften Klammern maskiere. Ich habe auch versucht, anstatt \d [0-9] zu verwenden, auch das funktioniert nicht. Ohne die Suche nach den Digit, wenn ich also nur nach M oder G, gefolgt von einem Whitespace suche, geht es:
1 | du -ch . |grep '[MG]\s' |less |
Habt Ihr ne Idee?
Danke und viele Grüße, Jochen