TDN REDIREKCE REGEX Mgr Jan Fiala 4 12

  • Slides: 22
Download presentation
TŘÍDĚNÍ, REDIREKCE, REGEX Mgr. Jan Fiala 4. 12. 2017 1

TŘÍDĚNÍ, REDIREKCE, REGEX Mgr. Jan Fiala 4. 12. 2017 1

KOPÍROVÁNÍ • pwd • mkdir upravy • cp /etc/group upravy • ls –l upravy

KOPÍROVÁNÍ • pwd • mkdir upravy • cp /etc/group upravy • ls –l upravy • Vytvoříme adresář úpravy, zkopírujeme soubor /etc/group do adresáře ~/upravy, vypíše seznam registrovaných skupin v systému 4. 12. 2017 2

VÝPIS HLAVIČKY, KONCE SOUBORU • head upravy/group • tail upravy/group • Vypíše prvních a

VÝPIS HLAVIČKY, KONCE SOUBORU • head upravy/group • tail upravy/group • Vypíše prvních a posledních 10 řádek souboru group 4. 12. 2017 3

VÝPIS ČÁSTI ADRESÁŘE • ls –l /etc | head • cp /etc/passwd upravy •

VÝPIS ČÁSTI ADRESÁŘE • ls –l /etc | head • cp /etc/passwd upravy • cat upravy/passwd | nl | tail -5 • cat upravy/passwd | tail -5 | nl 4. 12. 2017 4

STANDARDNÍ VÝSTUPY • cat upravy/passwd > raz. txt • tac upravy/passwd > dva. txt

STANDARDNÍ VÝSTUPY • cat upravy/passwd > raz. txt • tac upravy/passwd > dva. txt (obrácený výpis) • tac upravy/passwd >> raz. txt (doplnění zápisu do souboru) • cat upravy/password > tri. txt (soubor neexistuje a bude se hlásit chyba) • ls tri. txt • cat upravy/password 2> chyba. txt • cat upravy/passwd. old/password > tri. txt 2> chyba 2. txt 4. 12. 2017 5

ZMĚNA ŘETĚZCE, VÝPIS • tr ‘a-z’ ‘A-Z’ (zamění malá za velká písmena) • tr

ZMĚNA ŘETĚZCE, VÝPIS • tr ‘a-z’ ‘A-Z’ (zamění malá za velká písmena) • tr ‘a-z’ ‘qwertyuiopasdfghjklzxcvbnm’ (nahradí písmena) • tr a-z’ ‘A-Z’ < upravy/passwd > passwd. velke (ze souboru upravy/passwd převede písmena a uloží do passwd. velke • more upravy/passwd • more passwd. velke 4. 12. 2017 6

HLEDAT - FIND • find (kde - adresář , co hledat, kritérium, co s

HLEDAT - FIND • find (kde - adresář , co hledat, kritérium, co s tím) • find passwd. old –name video 2> chyba 3. txt • find passwd. old –name video > videa. txt 2> chyba 3. txt • find passwd. old –user root > root. txt 2>> chyba 3. txt • find passwd. old –size 10 c 2>> chyba 3. txt • find passwd. old –size +1 M 2>> chyba 3. txt 4. 12. 2017 7

/DEV/NULL • find /etc -size 10 c -type f -ls 2> /dev/null • Vyhledá

/DEV/NULL • find /etc -size 10 c -type f -ls 2> /dev/null • Vyhledá v adresáři /etc soubory (type –f ) velikosti 10 bajtů (-size 10 c ), vypíše ( -ls ) a chybová hlášení přesune do koše ( 2> /dev/null ) 4. 12. 2017 8

LESS • less /usr/share/dict/words • Výpis umožňuje posouvání řádek, stránkování a posun na slova.

LESS • less /usr/share/dict/words • Výpis umožňuje posouvání řádek, stránkování a posun na slova. 4. 12. 2017 9

SORT - TŘÍDĚNÍ • sort -t: -n -k 3 upravy/passwd • sort -t: -n

SORT - TŘÍDĚNÍ • sort -t: -n -k 3 upravy/passwd • sort -t: -n -r -k 3 upravy/passwd • sort -t: -k 2 -k 1 -k 3 n upravy/passwd • Třídí podle značky mezi položkami ( v tomto případě : ) • Položka je označena –k a číslo na řádce 4. 12. 2017 10

WC • wc /etc/passwd • vypíše počet řádek, slov a písmen v souboru •

WC • wc /etc/passwd • vypíše počet řádek, slov a písmen v souboru • -l pouze řádky • -w pouze slova • -c bytů (písmen) • ls /etc/ | wc -l 4. 12. 2017 11

CUT • ořízne výpis souboru z levé a pravé strany • cp /etc/passwd mujpasswd

CUT • ořízne výpis souboru z levé a pravé strany • cp /etc/passwd mujpasswd • cut -d: -f 1, 5 -7 mujpasswd • vypíše první a 5 až 7 slovo • ls - | cut -c 1 -11, 50 - 4. 12. 2017 12

GREP • vyhledání řetězce v souboru nebo adresáři • grep –color bash /etc/passwd •

GREP • vyhledání řetězce v souboru nebo adresáři • grep –color bash /etc/passwd • vyhledej řetězec bash a barevně označ • grep -c bash /etc/passwd • grep -n bash /etc/passwd Další možnosti: grep -v nologin /etc/passwd -l linux /etc/* -i linux /etc/* -w linux /etc/* 4. 12. 2017 13

ZÁKLADNÍ REGULÁRNÍ ZNAKY • . (tečka) nějaký jeden znak • [] rozsah vybraných znaků

ZÁKLADNÍ REGULÁRNÍ ZNAKY • . (tečka) nějaký jeden znak • [] rozsah vybraných znaků – řetězec • * (hvězdička) předchozí znak je prázdný • ^ musí být na začátku řádky • $ text musí být na konci řádky 4. 12. 2017 14

POUŽITÍ REGEX • echo ‘abcddd’ > example. txt (zapíše řetězec do souboru example. txt)

POUŽITÍ REGEX • echo ‘abcddd’ > example. txt (zapíše řetězec do souboru example. txt) • cat example. txt • grep --color ‘a. . ’ example. txt (barevně označí písmeno a a 2 následující znaky) • grep --color ‘a. . c’ example. txt (neoznačí nic, nesplňuje to podmínku a. . c) 4. 12. 2017 15

ŘETĚZCE [ ] V REGEX • grep --color ‘[ab] [a-d]’ example. txt • chybné

ŘETĚZCE [ ] V REGEX • grep --color ‘[ab] [a-d]’ example. txt • chybné zadání – rozsah neexistuje: • grep --color ‘[d-a]’ example. txt • grep --color ‘[^abc]d’ example. txt • Třídění probíhá podle ASCII tabulky - příkaz man ascii 4. 12. 2017 16

VYUŽITÍ ZNAKU * V REGEX • grep --color ‘d*’ example. txt • Označí barevně

VYUŽITÍ ZNAKU * V REGEX • grep --color ‘d*’ example. txt • Označí barevně vybrané znaky pokud je za nimi prázdný znak a nebo stejný typ znaku ( takže mezera nebo d) 4. 12. 2017 17

ZNAKY ^ V REGEX • echo “abcddd” > ex. txt • echo “xyzabc” >>

ZNAKY ^ V REGEX • echo “abcddd” > ex. txt • echo “xyzabc” >> ex. txt • cat ex. txt (vytvořil se soubor s dvěma řádky) • grep --color “a” ex. txt • označí všechny a • grep –color “^a” ex. txt • označí pouze a , které je na začátku řetězce 4. 12. 2017 18

ZNAKY $ V REGEX • grep --color “c$” ex. txt • Označí pouze znak

ZNAKY $ V REGEX • grep --color “c$” ex. txt • Označí pouze znak c , který je na konci řetězce 4. 12. 2017 19

VYUŽITÍ ZNAKU  V REGEX • echo “abcd*” >> ex. txt • cat ex.

VYUŽITÍ ZNAKU V REGEX • echo “abcd*” >> ex. txt • cat ex. txt (do souboru ex. txt doplněna řádka abcd* • grep --color “cd*” ex. txt • ale • grep -color “cd*” ex. txt • Lomítko před * označí hvězdičku jako běžný znak a nikoli jako regulární znak. 4. 12. 2017 20

DALŠÍ ZNAKY ? , + , | • grep -E ‘colou? r’ 2. txt

DALŠÍ ZNAKY ? , + , | • grep -E ‘colou? r’ 2. txt • Hledá řetězez colour nebo color • grep -E ‘d+’ 2. txt • Hledá slovo s jedním nebo více d za sebou • grep -E ‘gray|grey’ 2. txt • Hledá alternativu gray nebo grey 4. 12. 2017 21

XARGS • Používá se při předávání velkého množství parametrů, kdy systém reaguje hlášením Argument

XARGS • Používá se při předávání velkého množství parametrů, kdy systém reaguje hlášením Argument list too long Ukázka: find. –type f -name “*. bak” | xargs rm 4. 12. 2017 22