Zum Inhalt springen

Bash/Expansion von Dateinamen/Übungen: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
K Textersetzung - „ “ durch „ “
 
Zeile 5: Zeile 5:


  ls a*
  ls a*
  a aa aaa# Ein beliebiges Zeichen (?)
  a aa aaa# Ein beliebiges Zeichen (?)


  ls a?
  ls a?
Zeile 11: Zeile 11:


  ls [abc]
  ls [abc]
  a b c# Ein Zeichen aus einem Bereich [ - ]
  a b c# Ein Zeichen aus einem Bereich [ - ]


  ls [a-d]
  ls [a-d]
  a b c d# Kein Zeichen aus der Menge [! ]
  a b c d# Kein Zeichen aus der Menge [! ]


  ls [!ab]*
  ls [!ab]*
  c cc ccc d dd ddd# Kein Zeichen aus einem Bereich [! - ]
  c cc ccc d dd ddd# Kein Zeichen aus einem Bereich [! - ]


  ls [!a-c]*
  ls [!a-c]*
  d dd ddd
  d dd ddd


=== Übungen 2 ===
=== Übungen 2 ===
Zeile 30: Zeile 30:


  '''ls ?(a|b)'''
  '''ls ?(a|b)'''
  a b# *(Muster-Liste) - kein oder mehrere Auftreten eines Musters
  a b# *(Muster-Liste) - kein oder mehrere Auftreten eines Musters


  '''ls *(a|b)'''
  '''ls *(a|b)'''
  a aa aaa b bb bbb# +(Muster-Liste) - ein oder mehrere Auftreten eines Musters
  a aa aaa b bb bbb# +(Muster-Liste) - ein oder mehrere Auftreten eines Musters


  '''ls +(a|b)'''
  '''ls +(a|b)'''
  a aa aaa b bb bbb# @(Muster-Liste) - genau ein Auftreten eines Musters
  a aa aaa b bb bbb# @(Muster-Liste) - genau ein Auftreten eines Musters


  '''ls @(a|b)'''
  '''ls @(a|b)'''
  a b# !(Muster-Liste)- alle außer den angegebenen Mustern  
  a b# !(Muster-Liste)- alle außer den angegebenen Mustern  


  '''ls !(a|b)'''
  '''ls !(a|b)'''
  1 11 111 2 22 222 3 33 333 aa aaa bb bbb c cc ccc# .!(|.) - Dotfiles ohne "." und ".."
  1 11 111 2 22 222 3 33 333 aa aaa bb bbb c cc ccc# .!(|.) - Dotfiles ohne "." und ".."


  '''ls -d .!(|.)'''
  '''ls -d .!(|.)'''
Zeile 50: Zeile 50:
; <nowiki>[[:Zeichenklasse:]]</nowiki>
; <nowiki>[[:Zeichenklasse:]]</nowiki>
  '''<nowiki>ls [[:alpha:]]</nowiki>'''
  '''<nowiki>ls [[:alpha:]]</nowiki>'''
  a b c# Kombinationen
  a b c# Kombinationen


  '''<nowiki>ls +([[:digit:]])</nowiki>'''
  '''<nowiki>ls +([[:digit:]])</nowiki>'''
  1 11 111 2 22 222 3 33 333
  1 11 111 2 22 222 3 33 333


  '''<nowiki>ls ?([[:digit:]])</nowiki>'''
  '''<nowiki>ls ?([[:digit:]])</nowiki>'''
  1 2 3
  1 2 3


  '''<nowiki>ls +([[:digit:]]|!([[:upper:]]))</nowiki>'''
  '''<nowiki>ls +([[:digit:]]|!([[:upper:]]))</nowiki>'''
  1 11 111 2 22 222 3 33 333 a aa aaa b bb bbb c cc ccc
  1 11 111 2 22 222 3 33 333 a aa aaa b bb bbb c cc ccc


[[Kategorie:Bash/Expansionen]]
[[Kategorie:Bash/Expansionen]]

Aktuelle Version vom 14. Juni 2026, 00:50 Uhr

Übungen 1

Vorbereitung

mkdir ~/gob && cd ~/gob
touch a aa aaa b bb bbb c cc ccc d dd ddd# Beliebig viele beliebige Zeichen (*)
ls a*
a aa aaa# Ein beliebiges Zeichen (?)
ls a?
aa# Ein Zeichen aus einer Menge [...]
ls [abc]
a b c# Ein Zeichen aus einem Bereich [ - ]
ls [a-d]
a b c d# Kein Zeichen aus der Menge [! ]
ls [!ab]*
c cc ccc d dd ddd# Kein Zeichen aus einem Bereich [! - ]
ls [!a-c]*
d dd ddd

Übungen 2

Vorbereitung

mkdir ~/extgob && cd ~/extgob
touch 1 11 111 2 22 222 3 33 333 
touch a aa aaa b bb bbb c cc ccc# ?(Muster-Liste)- kein oder ein Auftreten eines Musters
ls ?(a|b)
a b# *(Muster-Liste) - kein oder mehrere Auftreten eines Musters
ls *(a|b)
a aa aaa b bb bbb# +(Muster-Liste) - ein oder mehrere Auftreten eines Musters
ls +(a|b)
a aa aaa b bb bbb# @(Muster-Liste) - genau ein Auftreten eines Musters
ls @(a|b)
a b# !(Muster-Liste)- alle außer den angegebenen Mustern 
ls !(a|b)
1 11 111 2 22 222 3 33 333 aa aaa bb bbb c cc ccc# .!(|.) - Dotfiles ohne "." und ".."
ls -d .!(|.)
.bash_history .bash_profile .bashrc

Zeichenklasse

[[:Zeichenklasse:]]
ls [[:alpha:]]
a b c# Kombinationen
ls +([[:digit:]])
1 11 111 2 22 222 3 33 333
ls ?([[:digit:]])
1 2 3
ls +([[:digit:]]|!([[:upper:]]))
1 11 111 2 22 222 3 33 333 a aa aaa b bb bbb c cc ccc