GNU/Linux >> LINUX-Kenntnisse >  >> Linux

10 praktische Beispiele mit Platzhaltern zum Abgleichen von Dateinamen in Linux

Platzhalter (auch als Metazeichen bezeichnet) sind Symbole oder Sonderzeichen, die andere Zeichen darstellen. Sie können sie mit jedem Befehl wie dem ls-Befehl oder dem rm-Befehl verwenden Dateien aufzulisten oder zu entfernen, die einem bestimmten Kriterium entsprechen, empfänglich.

Lesen Sie auch:10 nützliche praktische Beispiele zum Verketten von Operatoren in Linux

Diese Platzhalter werden von der Shell interpretiert und die Ergebnisse an den von Ihnen ausgeführten Befehl zurückgegeben. Es gibt drei Hauptplatzhalter in Linux:

  • Ein Sternchen (*) – stimmt mit einem oder mehreren Vorkommen eines beliebigen Zeichens überein, einschließlich keinem Zeichen.
  • Fragezeichen (?) – stellt ein einzelnes Vorkommen eines beliebigen Zeichens dar oder stimmt mit ihm überein.
  • Zeichen in Klammern ([ ]) – stimmt mit jedem Vorkommen von Zeichen überein, die in eckige Klammern eingeschlossen sind. Es können verschiedene Arten von Zeichen (alphanumerische Zeichen) verwendet werden:Zahlen, Buchstaben, andere Sonderzeichen usw.

Sie müssen sorgfältig auswählen, welcher Platzhalter verwendet werden soll, um die richtigen Dateinamen abzugleichen:Es ist auch möglich, alle in einem Vorgang zu kombinieren, wie in den folgenden Beispielen erläutert.

Abgleich von Dateinamen mit Platzhaltern in Linux

Für die Zwecke dieses Artikels werden wir die folgenden Dateien verwenden, um jedes Beispiel zu demonstrieren.

createbackup.sh  list.sh  lspace.sh        speaker.sh
listopen.sh      lost.sh  rename-files.sh  topprocs.sh

1. Dieser Befehl gleicht alle Dateien ab, deren Namen mit l beginnen (das ist das Präfix) und mit einem oder mehreren Vorkommen eines beliebigen Zeichens endet.

$ ls -l l*	

2. Dieses Beispiel zeigt eine andere Verwendung von * um alle Dateinamen mit dem Präfix users-0 zu kopieren und endet mit einem oder mehreren Vorkommen eines beliebigen Zeichens.

$ mkdir -p users-info
$ ls users-0*
$ mv -v users-0* users-info/	# Option -v flag enables verbose output

3. Der folgende Befehl gleicht alle Dateien ab, deren Namen mit l beginnen gefolgt von einem beliebigen einzelnen Zeichen und endet mit st.sh (das ist das Suffix).

$ ls l?st.sh	

4. Der folgende Befehl gleicht alle Dateien ab, deren Namen mit l beginnen gefolgt von einem der Zeichen in der eckigen Klammer, aber endend mit st.sh .

$ ls l[abdcio]st.sh 

Wie man Wildcards kombiniert, um Dateinamen in Linux abzugleichen

Sie können Platzhalter kombinieren, um ein komplexes Dateinamen-Übereinstimmungskriterium zu erstellen, wie in den folgenden Beispielen beschrieben.

5. Dieser Befehl gleicht alle Dateinamen ab, denen zwei beliebige Zeichen vorangestellt sind, gefolgt von st aber endet mit einem oder mehreren Vorkommen eines beliebigen Zeichens.

$ ls
$ ls ??st*

6. Dieses Beispiel vergleicht Dateinamen, die mit einem dieser Zeichen beginnen:[clst] und endet mit einem oder mehreren Vorkommen eines beliebigen Zeichens.

$ ls
$ ls [clst]*

7. In diesem Beispiel nur Dateinamen, die mit einem dieser Zeichen beginnen [clst] gefolgt von einem dieser [io] und dann ein beliebiges einzelnes Zeichen, gefolgt von einem t und schließlich werden ein oder mehrere Vorkommen eines beliebigen Zeichens aufgelistet.

$ ls
$ ls [clst][io]?t*

8. Hier werden Dateinamen mit einem oder mehreren Zeichen vorangestellt, gefolgt von den Buchstaben tar und die mit einem oder mehreren Zeichen enden, werden entfernt.

$ ls
$ rm *tar*
$ ls

So passen Sie unter Linux festgelegte Zeichen an

9. Schauen wir uns nun an, wie man eine Zeichenkette angibt. Betrachten Sie die folgenden Dateinamen, die Systembenutzerinformationen enthalten.

$ ls

users-111.list  users-1AA.list  users-22A.list  users-2aB.txt   users-2ba.txt
users-111.txt   users-1AA.txt   users-22A.txt   users-2AB.txt   users-2bA.txt
users-11A.txt   users-1AB.list  users-2aA.txt   users-2ba.list
users-12A.txt   users-1AB.txt   users-2AB.list  users-2bA.list

Dieser Befehl gleicht alle Dateien ab, deren Name mit users-i beginnt , gefolgt von einer Zahl, einem Kleinbuchstaben oder einer Zahl, dann einer Zahl und endet mit einem oder mehreren Vorkommen eines beliebigen Zeichens.

$ ls users-[0-9][a-z0-9][0-9]*

Der nächste Befehl gleicht Dateinamen ab, die mit users-i beginnen , gefolgt von einer Zahl, einem Klein- oder Großbuchstaben oder einer Zahl, dann einer Zahl und endet mit einem oder mehreren Vorkommen eines beliebigen Zeichens.

$ ls users-[0-9][a-zA-Z0-9][0-9]*

Dieser folgende Befehl gleicht alle Dateinamen ab, die mit users-i beginnen , gefolgt von einer Zahl, einem Klein- oder Großbuchstaben oder einer Zahl, dann einem Klein- oder Großbuchstaben und endet mit einem oder mehreren Vorkommen eines beliebigen Zeichens.

$ ls users-[0-9][a-zA-Z0-9][a-zA-Z]*

Wie man einen Zeichensatz unter Linux negiert

10. Sie können auch eine Reihe von Zeichen mit ! negieren Symbol. Der folgende Befehl listet alle Dateinamen auf, die mit users-i beginnen , gefolgt von einer Zahl, einem beliebigen gültigen Dateibenennungszeichen außer einer Zahl, dann einem Klein- oder Großbuchstaben und endet mit einem oder mehreren Vorkommen eines beliebigen Zeichens.

$ ls users-[0-9][!0-9][a-zA-Z]*

Das ist jetzt alles! Wenn Sie die obigen Beispiele ausprobiert haben, sollten Sie jetzt ein gutes Verständnis dafür haben, wie Wildcards funktionieren, um Dateinamen in Linux abzugleichen.

Vielleicht möchten Sie auch diese folgenden Artikel lesen, die Beispiele für die Verwendung von Platzhaltern in Linux zeigen:

  1. So extrahieren Sie Tar-Dateien in ein bestimmtes oder anderes Verzeichnis in Linux
  2. 3 Möglichkeiten zum Löschen aller Dateien in einem Verzeichnis außer einer oder wenigen Dateien mit Erweiterungen
  3. 10 nützliche Tipps zum Schreiben effektiver Bash-Skripte unter Linux
  4. Verwenden von Awk und regulären Ausdrücken zum Filtern von Text oder Zeichenfolgen in Dateien

Wenn Sie etwas mitzuteilen oder eine Frage zu stellen haben, verwenden Sie das Kommentarformular unten.


Linux
  1. 10 praktische Beispiele für die Verwendung des scp-Befehls

  2. cp-Befehl unter Linux:7 praktische Beispiele

  3. Linux-Shutdown-Befehl:5 praktische Beispiele

  4. 5 praktische Linux-Fuser-Befehlsbeispiele

  5. 10 praktische Beispiele für Linux-nm-Befehle

12 praktische Beispiele für In Command unter Linux

Die 50 praktischen Beispiele des SED-Befehls in Linux

15 Praktische Beispiele für den Rsync-Befehl unter Linux

5 praktische Beispiele für Tail-Befehle unter Linux

Echo-Befehl unter Linux:7 praktische Beispiele

Praktischer Ping-Befehl in Linux-Beispielen