Ich habe ein Verzeichnis mit Dateien namens „Hello“, „Help“, „Helol“, „Lla“, „Lalala“ und „Hi“. Ich muss in der Lage sein, nur Dateien aufzulisten, die mindestens zwei „l“ im Namen haben und diese „l“ dürfen nicht aufeinander folgen (es sei denn, es gibt noch ein weiteres „l“, das nicht aufeinander folgt). Daher sollten nur „Helol“, „Lla“ und „Lalala“ aufgelistet werden.
Antwort1
Glob-Muster verwenden:
*l[^l]*l*
[^l]
entspricht jedem Zeichen außerl
*
entspricht null oder mehr Zeichenl
entspricht wörtlicheml
Beispiel:
$ ls
hello helol help hi lalala llala
$ ls *l[^l]*l*
helol lalala llala