Srodowisko programisty - Wyszukiwanie

Transkrypt

Srodowisko programisty - Wyszukiwanie
Środowisko programisty
Wyszukiwanie
dr Andrzej Zbrzezny
Instytut Matematyki i Informatyki
Akademia Jana Długosza w Cz˛estochowie
25 listopada 2013
dr Andrzej Zbrzezny (IMI AJD)
Środowisko programisty
25 listopada 2013
1 / 15
Wyszukiwanie wzorców w plikach tekstowych
Przeszukiwanie bazy nazw plików
$ locate bash-completion
Przeszukiwanie bazy nazw plików bez uwzgledniania
˛
wielkości
liter
$ locate -i bash-completion
Zarzadzanie
˛
wynikami otrzymanymi podczas przeszukiwania bazy
nazw plików
$ locate -n 3 bash-completion
Aktualizowanie bazy danych używanej przez locate
$ updatedb
$ time updatedb
dr Andrzej Zbrzezny (IMI AJD)
Środowisko programisty
25 listopada 2013
2 / 15
Wyszukiwanie wzorców w plikach tekstowych
Szukanie wzorców w plikach tekstowych
$ grep bzip2 *.tex
Podstawy wyszukiwania wzorców w plikach tekstowych
$ grep studenci ! *.tex
$ grep "studenci !" *.tex
$ grep 'studenci !' *.tex
Rekurencyjne wyszukiwanie tekstu w plikach
$ grep -R 'studenci !' *
Szukanie tekstu w plikach bez uwzgledniania
˛
wielkości liter
$ grep -R -i 'studenci !' *
Wyszukiwanie całych słów w plikach
$ grep -w 'Linus' *
Wyświetlanie nazw plików zawierajacych
˛
szukane słowa
$ grep -l 'Linus' *
dr Andrzej Zbrzezny (IMI AJD)
Środowisko programisty
25 listopada 2013
3 / 15
Wyszukiwanie wzorców w plikach tekstowych
Wyświetlanie numerów wierszy, w których wystepuj
˛ a˛ szukane
słowa
$ grep -n 'Linus' *
Wyszukiwanie słów w wynikach poleceń
$ ls -l | grep tex
Wyświetlanie kontekstu słów wystepuj
˛ acych
˛
w plikach
$ grep -B 2 Torvalds *.tex
$ grep -A 2 Torvalds *.tex
$ grep -C 2 Torvalds *.tex
Wyświetlanie wierszy, w których nie wystepuje
˛
określone słowo
$ ls -l | grep -v tex
Wyszukiwanie słów w wynikach wyszukiwania
dr Andrzej Zbrzezny (IMI AJD)
Środowisko programisty
25 listopada 2013
4 / 15
Wyszukiwanie wzorców w plikach tekstowych
Metaznaki
Symbol
.
*
grep
+
+
egrep
+
+
ˆ
+
+
$
+
+
\
[]
+
+
+
+
\( \)
+
-
dr Andrzej Zbrzezny (IMI AJD)
Znaczenie
Dopasowuje dowolny znak
Dopasowuje zero lub wiecej
˛
znaków poprzedzajacych
˛
Dopasowuje poczatek
˛
wiersza lub ciagu
˛ znaków
Dopasowuje koniec wiersza
lub ciagu
˛ znaków
Cytuje nastepny
˛
znak
Dopasowuje jeden z elementów zbioru
Zachowuje wzór w celu wykorzystania w przyszłości
Środowisko programisty
25 listopada 2013
5 / 15
Wyszukiwanie wzorców w plikach tekstowych
Metaznaki
Symbol
\n
{ }
grep
+
-
egrep
+
\{ \}
+
-
+
-
+
?
-
+
|
-
+
( )
-
+
dr Andrzej Zbrzezny (IMI AJD)
Znaczenie
Odtwarza określony wzór
Dopasowuje zakres wysta˛
pień
Dopasowuje zakres wysta˛
pień
Dopasowuje jeden lub wiecej
˛
znaków poprzedzajacych
˛
Dopasowuje zero lub jeden
znaków poprzedzajacych
˛
Oddziela od siebie możliwości dopasowania
Grupuje wyrażenia
Środowisko programisty
25 listopada 2013
6 / 15
Wyszukiwanie wzorców w plikach tekstowych
Przykłady wyrażeń regularnych dla programu grep
Wzorzec
kot
ˆkot
kot$
ˆkot$
[Kk]ot
k[ioa]t
k.t
ˆ...$
ˆ\.
ˆ\.[a-z][a-z]
dr Andrzej Zbrzezny (IMI AJD)
Działanie
Ciag
˛ znaków kot
kot na poczatku
˛
wiersza
kot na końcu wiersza
kot jako jedyne słowo w wierszu
Kot lub kot
Druga litera to i, o lub a
Druga litera to dowolny znak
Dowolny wiersz zawierajacy
˛ dokładnie
trzy znaki
Dowolny wiersz zaczynajacy
˛
sie˛ od
kropki
Jak wyzej, z tym że po kropce musza˛
wystapić dwie małe litery
Środowisko programisty
25 listopada 2013
7 / 15
Wyszukiwanie wzorców w plikach tekstowych
Przykłady wyrażeń regularnych dla programu grep
Wzorzec
kot.
"słowo"
"*słowo"*
[A-Z][A-Z]*
[A-Z]*
[A-Z].*
[A-Z][a-z]
[A-Z][a-z]
[ˆA-Za-z0-9]
dr Andrzej Zbrzezny (IMI AJD)
Działanie
kot, kotara, kotlina i tak dalej
słowo w cudzysłowach
słowo w cudzysłowach, z jednym cudzysłowem lub bez cudzysłowów
Jeden lub wiecej
˛
znaków bed
˛ acych
˛
duża˛ litera˛
Zero lub wiecej
˛
znaków bed
˛ acych
˛
duża˛
litera˛
Duża litera po której wystepuje zero lub
wiecej
˛
znaków
Duża lub mała litera
Duża lub mała litera
Dowolny znak nie bed
˛ acy
˛ litera˛ ani cyfra˛
Środowisko programisty
25 listopada 2013
8 / 15
Wyszukiwanie wzorców w plikach tekstowych
Przykłady wyrażeń regularnych dla programu egrep
Wzorzec
[A-Z]+
kot|las|dym
80[2-4]?86
80[2-4]?86|Pentium(-II)?
firm(a|y)
dr Andrzej Zbrzezny (IMI AJD)
Działanie
Jeden lub wiecej
˛
znaków bed
˛ acych
˛
duża˛ litera˛
Jedno ze słów kot,
las lub dym
8086, 80286, 80386
lub 80486
8086, 80286, 80386,
80486, Pentium
lub Pentium-II
firma lub firmy
Środowisko programisty
25 listopada 2013
9 / 15
Wyszukiwanie plików
Polecenie find
Wyszukiwanie plików według nazwy
$ find . -name python
$ find . -name '*python*'
$ find . -iname '*python*'
$ find ./myLatex -iname '*python*'
$ find ∼/myLatex/ -iname '*python*'
Wyszukiwanie plików według właściciela
$ find -user andrzej
$ find ! -user andrzej
Wyszukiwanie plików według grupy
$ find -group users
$ find ! -group users
dr Andrzej Zbrzezny (IMI AJD)
Środowisko programisty
25 listopada 2013
10 / 15
Wyszukiwanie plików
Polecenie find
Wyszukiwanie plików według rozmiaru
$ find -size 6
$ find -size -6
$ find -size +6
Stosowane przyrostki
Przyrostek
Znaczenie
b
Bloki 512 bajtów (jednostka domyślna)
c
Bajty
k
Kilobajty (kB)
M
Megabajty (MB)
G
Gigabajty (GB)
dr Andrzej Zbrzezny (IMI AJD)
Środowisko programisty
25 listopada 2013
11 / 15
Wyszukiwanie plików
Polecenie find
Wyszukiwanie plików według typu
$ find -type d
Typy plików
Litera określ.
typ pliku
f
d
l
b
c
p
s
dr Andrzej Zbrzezny (IMI AJD)
Znaczenie
Zwykły plik
Katalog
Miekkie
˛
dowiazanie
˛
symboliczne
Specjalny plik urzadzenia
˛
blokowego
Specjalny plik urzadzenia
˛
znakowego
Kolejka FIFO
Gniazdo
Środowisko programisty
25 listopada 2013
12 / 15
Wyszukiwanie plików
Polecenie find – inne kryteria wyszukiwania
Kryterium
-atime n
-mtime n
-newer plik
-links n
-perm p
-user użytkownik
-group grupa
-empty
dr Andrzej Zbrzezny (IMI AJD)
Znaczenie
Ostatni dostep
˛ miał miejsce n dni temu
Plik został zmodyfikowany n dni temu
Wyszukiwany plik został zmodyfikowany
wcześniej niż podany plik
Plik zawiera dokładnie n twardych dowia˛
zań
Plik ma uprawnienia, gdzie p to liczbowy
tryb dostepu
˛
Właścicielem pliku jest użytkownik
Właścicielem pliku jest grupa
Puste pliki
Środowisko programisty
25 listopada 2013
13 / 15
Wyszukiwanie plików
Polecenie find
Wyświetlanie wyników, jeśli spełnione sa˛ wszystkie warunki (AND)
$ find -iname '*Python*' -a -type d
Wyświetlanie wyników, jeśli spełniony jest którykolwiek
z warunków (OR)
$ find -iname '*Python*' -o -type d
Wyświetlanie wyników, jeśli warunek nie jest spełniony (NOT)
$ find ! -type f
$ find ! -type d | wc -l
dr Andrzej Zbrzezny (IMI AJD)
Środowisko programisty
25 listopada 2013
14 / 15
Wyszukiwanie plików
Polecenie find
Wykonywanie polecenia na każdym znalezionym pliku
$ find -name '*.aux' -ok rm -f {} \;
$ find -name '*.JPG' \
-exec rename JPG jpg {} \;
Zapisywanie wyników wyszukiwania w pliku
$ find -iname '*.mp3' -o -iname '*.ogg' \
-fprint MojaMuzyka.txt
dr Andrzej Zbrzezny (IMI AJD)
Środowisko programisty
25 listopada 2013
15 / 15

Podobne dokumenty