ls ak{k,}zeigt Dateien an, die mit beginnen, akgefolgt von einem anderen koder nichts.
$ touch ak akk akc
$ ls -l ak{k,}
-rw-rw-r-- 1 cas cas 0 Oct 27 10:30 ak
-rw-rw-r-- 1 cas cas 0 Oct 27 10:30 akk
Globs sind keine regulären Ausdrücke, aber sie bieten mehr als nur *und ?.
Wenn Sie reguläre Ausdrücke verwenden möchten, um passende Dateinamen zu finden, können Sie den folgenden findBefehl verwenden:
$ find . -maxdepth 1 -type f -regex './ak+$'
./ak
./akk
Die -maxdepth 1Option beschränkt die Suche nur auf das aktuelle Verzeichnis (es werden keine Unterverzeichnisse durchsucht).
Wenn Sie Suchanfragen ohne Berücksichtigung der Groß- und Kleinschreibung wünschen, verwenden Sie -iregexstatt -regex.
Es gibt zahlreiche Methoden zur Verwendung der Dateien, die findin anderen Befehlen gefunden wurden. Zum Beispiel:
find . -maxdepth 1 -type f -regex './ak+$' -ls
find . -maxdepth 1 -type f -regex './ak+$' -exec ls -ld {} +
find . -maxdepth 1 -type f -regex './ak+$' -print0 | xargs -0r ls -ld
ls -ld $(find . -maxdepth 1 -type f -regex './ak+$')
Das letzte Beispiel ist anfällig für verschiedene Fehlermodi, darunter 1. Nichtbewältigung von Leerzeichen usw. in Dateinamen, 2. Begrenzung der Befehlszeilenlänge. nicht empfohlen.