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

Aus Foxwiki
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