Suchen mit regulären Ausdrücken funktioniert unter CentOS 7 nicht

Suchen mit regulären Ausdrücken funktioniert unter CentOS 7 nicht

Ich habe ein Problem mit „find“ und regulären Ausdrücken. Ich möchte Dateien in /etc finden, deren Name mit a oder b beginnt. Ich habe diese Befehle ausprobiert:

find /etc -type f -regex '^a'
find /etc -regextype sed -regex "^a"
find /etc -regextype egrep -regex '^a'
find /etc -regextype posix-egrep -regex '^a'

Funktioniert aber nicht. Ich habe 20 Dateien in /etc, deren Namen mit a beginnen, aber mein regulärer Ausdruck findet diese Dateien nicht. Was mache ich falsch?

Viele Grüße, Paweł

Antwort1

-regexstimmt mit dem vollständigen Pfad überein, nicht nur mit dem Dateinamen.

Das Nächstliegende, was mir eingefallen ist, wäre:

find /etc -type f  -regex '.+/[ab][^/]+'

Dies entspricht einem /, gefolgt von aoder b, gefolgt von allem, was kein weiteres ist /.

Antwort2

Früher war dies ganz einfach mit:

find /etc -type f -name 'a*'

verwandte Informationen