Bash/Expansion von Dateinamen/Übungen: Unterschied zwischen den Versionen
Erscheinungsbild
	
	
 Die Seite wurde neu angelegt: „=== Ü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“  | 
				Keine Bearbeitungszusammenfassung  | 
				||
| Zeile 21: | Zeile 21: | ||
  ls [!a-c]*  |   ls [!a-c]*  | ||
  d  dd  ddd  |   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 ====  | |||
; <nowiki>[[:Zeichenklasse:]]</nowiki>  | |||
 '''<nowiki>ls [[:alpha:]]</nowiki>'''  | |||
 a  b  c# Kombinationen  | |||
 '''<nowiki>ls +([[:digit:]])</nowiki>'''  | |||
 1  11  111  2  22  222  3  33  333  | |||
 '''<nowiki>ls ?([[:digit:]])</nowiki>'''  | |||
 1  2  3  | |||
 '''<nowiki>ls +([[:digit:]]|!([[:upper:]]))</nowiki>'''  | |||
 1  11  111  2  22  222  3  33  333  a  aa  aaa  b  bb  bbb  c  cc  ccc  | |||
[[Kategorie:Bash/Expansionen]]  | |||
Aktuelle Version vom 9. März 2024, 09:45 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