Jokerzeichen/Wildcard: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 90: Zeile 90:
  
 
= Aufgaben =
 
= Aufgaben =
 
+
* Wie lautet der Befehl, um alle Dateien (keine Verzeichnisse notwending) aus Ihrem Homverzeichnis nach /tmp zu kopieren?
* [[Aufgaben Wildcards]]
+
<!-- * '''cp ~/* /tmp''' -->
 +
* Wie lautet der Befehl, um alle Dateien aus /etc, die mit dem Buchstaben k anfangen, in Ihr Homeverzeichniss zu kopieren?
 +
<!-- * '''cp /etc/k* ~''' -->
 +
* Erstellen Sie ein Verzeichnis  ~/joker und kopieren Sie alle Dateien aus /etc, die genau 5 Zeichen lang sind, in das Verzeichnis.
 +
<!-- * '''mkdir ~/joker''' -->
 +
<!-- * '''cp /etc/????? ~/joker''' -->
 +
* Wie lautet der Befehl, um alle Dateien, die mit einem m beginnen und genau 5 Zeichen lang sind, zu löschen?
 +
<!-- * '''rm m????''' -->
 +
* Wie lautet der Befehl, um alle Dateien, die mit einem m beginnen, mindestens 3 Zeichen lang sind und einem c enden, nach joker kopieren?
 +
<!-- * '''cp m?*c''' -->
 +
* Wie lautet der Befehl, um alle Dateien, die mit einem w oder z beginnen, genau 5 Zeichen lang sind und nicht mit einer Ziffer enden, nach joker kopieren?
 +
<!-- * '''cp [wz]???[!0123456789] ~/joker''' -->
 +
* Geben Sie folgendes ein: '''touch {1,2,3,4,5,6,7,8,9,0}{1,2,3,4,5,6,7,8,9,0}sux'''
 +
* Wie kann man mit Hilfe der Wildcards diese Dateien wieder löschen?
 +
<!-- * '''rm {1,2,3,4,5,6,7,8,9,0}{1,2,3,4,5,6,7,8,9,0}sux''' -->
 +
* Wie lautet der Befehl, um alle Dateien zu löschen, die nicht mit einem a oder b beginnen?
 +
<!-- * '''rm [!ab]*' -->
 +
* Wie lautet der Befehl, um alle Dateien, die aus 4 Ziffern bestehen, anzuzeigen?
 +
<!-- * '''ls [0123456789][0123456789][0123456789][0123456789]'''  -->

Version vom 12. Oktober 2025, 19:20 Uhr

Was ist das?

  • Bash verwendet den Asterisk "*" als Platzhalter für beliebige Zeichen oder Zeichenfolgen in Dateinamen oder Verzeichnispfaden.
  • Die Wildcard "*" kann in Kombination mit anderen Zeichen verwendet werden, um gezielt nach bestimmten Dateien zu suchen oder Aktionen auf eine Gruppe von Dateien anzuwenden.

Einführung

  • mkdir test
  • cd test/
  • touch a ab abc abcd abcd b cd efg haij

Ein * steht für jedes Zeichen beliebig oft

  • ls *
a  ab  abc  abcd b  cd  efg  haij
  • ls ab*
ab  abc  abcd

Ein ? steht genau für ein Zeichen

  • ls ?
a b
  • ls ??
ab cd 
  • ls ???*
abc  abcd  efg	haij

Eine [] steht genau für ein Zeichen das in der Klammer ist

  • ls [ab]
a  b
  • ls [abc]?
ab  cd

Eine [!] steht genau für ein Zeichen das nicht in der Klammer ist

  • ls [!abc]*
efg  haij

Mit der {element1,element2} kann man Dateinamen generieren

  • mkdir -v dir{1,2,3,4,5,6}
mkdir: Verzeichnis „dir1“ angelegt
mkdir: Verzeichnis „dir2“ angelegt
mkdir: Verzeichnis „dir3“ angelegt
mkdir: Verzeichnis „dir4“ angelegt
mkdir: Verzeichnis „dir5“ angelegt
mkdir: Verzeichnis „dir6“ angelegt

Backup mit Dateinamengenerierung

  • cp -v xx{,.save}

Wenn kein Treffer erfolgt wird das Sonderzeichen eingesetzt

  • rm -r *
  • mkdir -v *
mkdir: Verzeichnis „*“ angelegt
  • cd *t/*$

Entwerten kann man ein Sonderzeichen mit einem \

  • rm -rvi \*
rm: Verzeichnis „*“ entfernen? n

Entwerten kann man mehrere Sonderzeichen mit "..."

  • rm -rvi "*"
rm: Verzeichnis „*“ entfernen? n

Entwerten kann man mehrere Sonderzeichen mit '...'

  • rm -rvi '*'
rm: Verzeichnis „*“ entfernen? n

Aufgaben

  • Wie lautet der Befehl, um alle Dateien (keine Verzeichnisse notwending) aus Ihrem Homverzeichnis nach /tmp zu kopieren?
  • Wie lautet der Befehl, um alle Dateien aus /etc, die mit dem Buchstaben k anfangen, in Ihr Homeverzeichniss zu kopieren?
  • Erstellen Sie ein Verzeichnis ~/joker und kopieren Sie alle Dateien aus /etc, die genau 5 Zeichen lang sind, in das Verzeichnis.
  • Wie lautet der Befehl, um alle Dateien, die mit einem m beginnen und genau 5 Zeichen lang sind, zu löschen?
  • Wie lautet der Befehl, um alle Dateien, die mit einem m beginnen, mindestens 3 Zeichen lang sind und einem c enden, nach joker kopieren?
  • Wie lautet der Befehl, um alle Dateien, die mit einem w oder z beginnen, genau 5 Zeichen lang sind und nicht mit einer Ziffer enden, nach joker kopieren?
  • Geben Sie folgendes ein: touch {1,2,3,4,5,6,7,8,9,0}{1,2,3,4,5,6,7,8,9,0}sux
  • Wie kann man mit Hilfe der Wildcards diese Dateien wieder löschen?
  • Wie lautet der Befehl, um alle Dateien zu löschen, die nicht mit einem a oder b beginnen?
  • Wie lautet der Befehl, um alle Dateien, die aus 4 Ziffern bestehen, anzuzeigen?