Diese Frage hat hier bereits Antworten :

Kommentare

  • Das erste Beispiel verwendet die normale Regexp-Syntax, das zweite verwendet erweiterte Syntax. Ihre Version von find erwartet offensichtlich standardmäßig die erstere. Sie ' sagen nicht, auf welchem System Sie ' sind – Ihre find hat möglicherweise ein Schalten Sie diese Option ein, um die erweiterte Regexp-Analyse zu aktivieren. Unter FreeBSD ist es beispielsweise ' s -E
  • @D_Bye ah, dass ' ist ein guter Punkt. CentOS6. Ich ' habe versucht -regextype posix-extended und das ' funktioniert auch nicht

Antwort

Wenn Sie GNU find verwenden, sollte dies für Sie funktionieren

 find . -regextype sed -regex "./test[0-9]\{2\}.txt" 

Erläuterung

  • -regextype sed – Verwenden Sie den regulären Posix-Basisausdruck (nur weil das ist es, womit ich vertraut bin)
  • ./ – notwendig, weil find alle Dateipfade bei einer relativen Suche berücksichtigt, um mit diesem Muster zu beginnen
  • [0-9]\{2\} – 2 Instanzen der Ziffernzeichenklasse [0-9] mit dem Quantifizierer \{...\} Klammern sind entkommen – per reguläre Posix-Grundausdrücke

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.