Globbing
? zastępuje jeden znak
*zastępuje wszystkie znaki, ciągi znaków
! nie zawiera [!Ff]
[0-5] zakres
[Ff] oznacza F lub f [Ff]
[[:alpha:]] oznacza nazwy tekstowe
[[:digit:]] oznacza nazwy liczbowe 0 do 9
[[:upper:]] duże litery
[[:lower:]] małe litery
[[:space:]] spacje , taby , nowe linie
[[:graph:]] znaki graficzne w tym spacja
[[:print:]] znaki drukowalne w tym spacja
[[:punct:]] znaki interpunkcyjne?
Lista do późniejszych przykładów
[dziadekw@localhost globing]$ ll
razem 0
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 12:20 hEL
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 14:16 host.txt
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:56 jakiś_plik_05
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 12:20 Jerzy_Urban.doc
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 12:20 kocioł
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:59 kocioł_01
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 12:20 kot
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:56 kot_01
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:56 kot_02
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:59 kot_03
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 12:20 koza
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:59 koza_01
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:59 łagieniki
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:59 łasica
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:56 łasica_07
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 14:16 most.txt
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 14:16 mosty.txt
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:59 myszka_miki
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:56 Pies_04
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:59 pinica
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 12:20 PLUTON
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 12:20 SIARKA
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 12:20 Tur
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:59 Tur_01
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 12:20 turban
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:59 turban_02
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 12:20 URAN
[dziadekw@localhost globing]$
? zastępuje jeden dowolny znak, można go użyć wielokrotnie by zastąpić wiele znaków
ls -l ????.txt « wszystkie 4 znakowe pliki z rozszerzeniem .txt
[dziadekw@localhost globing]$ ll ????.txt
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 14:16 host.txt
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 14:16 most.txt
[dziadekw@localhost globing]$
ls -l Jerzy??????.doc « wszystkie 11 znakowe pliki zaczynające się od Jerzy z rozszeżeniem .doc
[dziadekw@localhost globing]$ ll Jerzy??????.doc
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 12:20 Jerzy_Urban.doc
[dziadekw@localhost globing]$
ls -l host.??? « wszystkie pliki o nazwie host i dowolnym 3 literowym rozszerzeniu
[dziadekw@localhost globing]$ ls -l host.???
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 14:16 host.txt
[dziadekw@localhost globing]$
* zastępuje wszystkie znaki.
Załóżmy, że chcemy wyszukać wszystkie pliki z rozszerzeniem .txt niezależnie od nazwy
ls -l *.txt
[dziadekw@localhost globing]$ ls -l *.txt
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 14:16 host.txt
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 14:16 most.txt
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 14:16 mosty.txt
[dziadekw@localhost globing]$
Załóżmy, że znamy początek nazwy pliku długość nazwy jest nie znana
ls -l k*
[dziadekw@localhost globing]$ ls -l k*
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 12:20 kocioł
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:59 kocioł_01
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 12:20 kot
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:56 kot_01
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:56 kot_02
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:59 kot_03
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 12:20 koza
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:59 koza_01
[dziadekw@localhost globing]$
Wiemy że nazwa zawiera m oraz . nie wiemy co jest po kropce
ls -l m*.*
[dziadekw@localhost globing]$ ls -l m*.*
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 14:16 most.txt
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 14:16 mosty.txt
[dziadekw@localhost globing]$
[] zakres znaków
ls -l *[0-3] znajdzie wszystkie pliki zawierające 0 lub 3
[dziadekw@localhost globing]$ ls -l *[0-3]
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:59 kocioł_01
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:56 kot_01
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:56 kot_02
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:59 kot_03
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:59 koza_01
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:59 Tur_01
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:59 turban_02
[dziadekw@localhost globing]$
ls -l [a-zA-Z0-9] znajdzie wszystkie pliki zawierające zakres liter A do Z oraz a do z jak również liczby 0 do 9
! znak negacji
ll [!mkpPJtsuUTS]* spowoduje wykluczenie z listy plików których pierwsza litera nazwy to mkpPJtsuUTS
[dziadekw@localhost globing]$ ll [!mkpPJtsuUTS]*
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 12:20 hEL
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 14:16 host.txt
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:56 jakiś_plik_05
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:59 łagieniki
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:59 łasica
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 13:56 łasica_07
[dziadekw@localhost globing]$ ll [!mkpPJtsuUTS]*
każda [] to kolejna litera w w wyrazie więc można np zrobić tak
[!mkpPJtsuUTS][!a]
dziadekw@localhost globing]$ ll [!mkpPJtsuUTS][!a]*
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 12:20 hEL
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 14:16 host.txt
[dziadekw@localhost globing]$
Po dodaniu do naszego filtra !a w drugiej ramce pozbyliśmy się z pierwotnej listy nazw których pierwsza litera to mkpPJtsuUTS druga to a.
Jako 3 litere dorzućmy s
[dziadekw@localhost globing]$ ll [!mkpPJtsuUTS][!a][!s]*
-rw-rw-r--. 1 dziadekw dziadekw 0 12-09 12:20 hEL
[dziadekw@localhost globing]$
[dziadekw@localhost globbing]$ ll [[:alpha:]]*
-rw-rw-r--. 1 dziadekw dziadekw 0 12-17 15:31 hEL
-rw-rw-r--. 1 dziadekw dziadekw 0 12-17 15:31 host.txt
-rw-rw-r--. 1 dziadekw dziadekw 0 12-17 15:31 jakiś_plik_05
… … … … … … … … … … … … … … … … … … …
-rw-rw-r--. 1 dziadekw dziadekw 0 12-17 15:31 kot
-rw-rw-r--. 1 dziadekw dziadekw 0 12-17 15:31 kot_01
-rw-rw-r--. 1 dziadekw dziadekw 0 12-17 15:31 kot_02
-rw-rw-r--. 1 dziadekw dziadekw 0 12-17 15:31 kot_03
-rw-rw-r--. 1 dziadekw dziadekw 0 12-17 15:31 koza
-rw-rw-r--. 1 dziadekw dziadekw 0 12-17 15:31 koza_01
-rw-rw-r--. 1 dziadekw dziadekw 0 12-17 15:31 łagieniki
-rw-rw-r--. 1 dziadekw dziadekw 0 12-17 15:31 łasica
-rw-rw-r--. 1 dziaiadekw 0 12-17 15:31 turban_02
-rw-rw-r--. 1 dziadekw dziadekw 0 12-17 15:31 URAN
[dziadekw@localhost globbing]$
łączenia
[[:digit:]]f[:upper:]]*
Powrót do bloga
Brak komentarzy:
Prześlij komentarz