"find" versteht RegEx nur teilweise
Hallo, find bietet als Option die Möglichkeit eines find ... ! -regex IrgendEinRegexAusdruck Dieses funktioniert aber leider nur, wenn man _kein_ Oder-Zeichen ("|") im RegEx-Ausdruck benutzt. In der Manpage habe ich keinen entsprechenden Hinweis finden können. Ist das ein Bug, ein Feature, oder liegt ein Denkfehler bei mir vor? Ralph (GNU find version 4.1)
Hy, Am 02/09/14@23:58 schrieb Ralph Müller:
find bietet als Option die Möglichkeit eines
find ... ! -regex IrgendEinRegexAusdruck
Dieses funktioniert aber leider nur, wenn man _kein_ Oder-Zeichen ("|") im RegEx-Ausdruck benutzt. In der Manpage habe ich keinen entsprechenden Hinweis finden können.
Ist das ein Bug, ein Feature, oder liegt ein Denkfehler bei mir vor?
Ich bin kein find Hero und es ist halt Samstag abend ;), aber gibt es irgend einen triftigen Grund die regex mit der Du Probleme hast hier nicht 1:1 zu posten? -- :wq-y maik
Maik Holtkamp wrote:
Am 02/09/14@23:58 schrieb Ralph Müller:
find bietet als Option die Möglichkeit eines find ... ! -regex IrgendEinRegexAusdruck Dieses funktioniert aber leider nur, wenn man _kein_ Oder-Zeichen ("|") im RegEx-Ausdruck benutzt.
Ist das ein Bug, ein Feature, oder liegt ein Denkfehler bei mir vor?
Ich bin kein find Hero und es ist halt Samstag abend ;), aber gibt es irgend einen triftigen Grund die regex mit der Du Probleme hast hier nicht 1:1 zu posten?
Mehrere Versuche mit unterschiedlichen RegEx'es waren fehlgeschlagen und ich hatte deshalb gedacht es ist immer und generell so. Zwischenzeitlich habe ich von Peter die Erkenntnis gewonnen, daß der Fehler doch zwischen Stuhllehne und Monitor saß. Ich hatte das "|" nicht gequotet gehabt. Richtig gequotet sieht's jetzt nach einem ersten Teilversuch so aus, daß es nun funktioniert: EXCLUDE=".*/office52/.+\|.*-save(/.*)*$\|~$" find /home ! -regex $EXCLUDE | afio ... Also vielen Dank nochmal, auch an Peter. Ralph
Ralph Müller wrote:
Dieses funktioniert aber leider nur, wenn man _kein_ Oder-Zeichen ("|") im RegEx-Ausdruck benutzt. In der Manpage habe ich keinen entsprechenden Hinweis finden können.
Nimm dir mal die Info-Page vor: Du erhaelst einen Hinweis auf die Emacs-RegEx, in denen man \| verwendet (Basic/obsolete Regex mit GNU-Extension). Richtig gequoted hast du es aber schon, oder? Peter
participants (3)
-
Maik Holtkamp
-
Peter Wiersig
-
Ralph Müller