Sie können find
find -type f -name "Account*"
Alternative 2 (dazu kann auch ein Ordner gehören)
ls -1 Account*
Alternative 3 (grep, dazu könnte auch Ordner gehören)
ls -1 | grep -E "^Account"
Ich habe zum Beispiel viele Dateien in einem Ordner
Kiran.txt Kiran1.txt Kiran221.txt Kiran144.txt Time.csv Timer.csv Timer2.csv Timer444.csv Timer266.csv Account.sh Account3.sh Account3333.sh Account3333.sh Account333333.sh
Von diesem Verzeichnis aus möchte ich wissen, wie ich grep
Dateien anzeigen kann, die auf einem Teil ihres Dateinamens basieren - zum Beispiel Dateien, die mit "Konto" beginnen oder die auf ".sh" enden.
Sie können find
find -type f -name "Account*"
Alternative 2 (dazu kann auch ein Ordner gehören)
ls -1 Account*
Alternative 3 (grep, dazu könnte auch Ordner gehören)
ls -1 | grep -E "^Account"
Verwenden Sie einen Platzhalter ( Was ist dieser Platzhalter? ):
ls *.sh
Das *
wird alles vor dem .sh
gewünschten Ende finden. Verwenden Sie die anderen ls
Optionen zum Anzeigen, z. B. -l
um eine lange Auflistung zu erstellen. Sehen Sie man ls
für weitere Informationen über das, was Sie damit machen können.
Beachten Sie, dass ls
auch jede Liste würde Verzeichnis mit der Endung .sh
, nicht nur Dateien.
Sie können find
dieses Problem auch überwinden.
find . -type f -maxdepth 1 -name "*.sh"
Dieser Befehl listet nur "echte" Dateien auf. Die Verwendung von find würde ich empfehlen, wenn Sie danach etwas mit den gefundenen Dateien tun möchten. Sie können dies mit der -exec
Option tun .
Die Standardlösung ist eine Pfeife:
ls | grep ^Account
Mit etwas so einfachem wie "Dateien, die mit Account beginnen" würden Globs auch funktionieren:
ls Account*
Im Allgemeinen ist ein Grep jedoch leistungsfähiger und es besteht nicht die Gefahr, dass die maximale Befehlszeilenlänge überläuft, wenn der Ordner wirklich sehr voll ist.
Verwenden Sie den folgenden Befehl
ls *.sh