Unix
Download
1 / 54

Unix - PowerPoint PPT Presentation


  • 118 Views
  • Uploaded on

Unix. Príkazy pre prácu s textom. Príkazy pre prácu s textom:. sed awk. colrm column cut paste tr sort. Úvod. unix - mnoho príkazov: vstup - štandardny vstup vystup - štandardný výstup Ako uchovať text zo štandardného výstupu ? presmerovať výstup do súboru ( > )

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Unix' - vea


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Unix

Príkazy pre prácu s textom


Pr kazy pre pr cu s textom
Príkazy pre prácu s textom:

  • sed

  • awk

  • colrm

  • column

  • cut

  • paste

  • tr

  • sort

Unix - príkazy pre prácu s textom (Tomáš Karas)


Úvod

unix - mnoho príkazov:

vstup - štandardny vstup

vystup - štandardný výstup

Ako uchovať text zo štandardného výstupu ?

  • presmerovať výstup do súboru ( > )

    Ako dostať obsah súboru na vstup programu ?

  • presmerovať vstup programu ( < )

Unix - príkazy pre prácu s textom (Tomáš Karas)


Úvod

Ako spojiť výstup jedného programu zo vstupom druhého programu ?

  • dátovodom (pipe, rúra, znak | )

  • použitím dočasného súboru

    Dočasné súbory:

  • vytvárať v adresári /tmp

  • v názve použiť znak $$ - význam pid

    • jednoznačný názov v systéme

  • pred skončením vymazať

Unix - príkazy pre prácu s textom (Tomáš Karas)


Úvod

Premenné:

  • uloženie výstupu príkazu do premennej (set,``) set meno = `ls -l`

  • sprístupnenie obsahu premennej ($)

  • vypísanie obsahu premennej (echo + sprístupnenie)

    echo $meno

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz colrm
Príkaz colrm

  • zruší vybrané stĺpce z textu

  • vstupom je štandardný vstup

  • výstupom je štandardný výstup

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz colrm1
Príkaz colrm

Použitie:

colrm [štart [stop]]

  • stĺpcom sa chápe jeden znak na riadku

  • číslovanie stĺpcov sa začína od 1

  • štart - vyjadruje prvý stĺpec, ktorý sa má zrušiť

  • stop - vyjadruje posledný stĺpec, ktorý sa má zrušiť

  • ak nie je pozícia stop zadaná tak sa pokračuje až do konca riadku

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr klad colrm
Príklad colrm

>colrm 3 5

123456789

126789

<eof>

>colrm 2

123456

1

>

?:

Vysvetlivky:

> - znak, ktorým sa hlási operačný systém (prompt)

rovné písmená - text zadávaný užívateľom

šikmé písmená - výstup programu

<eof> - príznak konca súboru (na niektorých termináloch Ctrl D)

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz column
Príkaz column

  • naformátuje vstupný text do stĺpcov

  • vstupom je štandardný vstup alebo súbor zadaný ako argument

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz column1
Príkaz column

Použitie:

column [-tx] [-c col] [-s sep] [súbor...]

-t vytvorí tabuľku (vyrovná stĺpce)

-x zlúči stĺpce z viacerých riadkov

-c col naformátuje výstup na šírku col stĺpcov

-s sep predpíše znaky, ktoré budú použité na oddelenie stĺpcov pri parametri -t

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr klad column
Príklad column

>column -t

miso jano fero maja jozo

3 4 3 5 2

<eof>

miso jano fero maja jozo

3 4 3 5 2

>

?:

Vysvetlivky:

> - znak, ktorým sa hlási operačný systém

rovné písmená - text zadávaný užívateľom

šikmé písmená - výstup programu

<eof> - príznak konca súboru

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz cut
Príkaz cut

  • vyberie zvolené stĺpce z textu

  • vstupom je štandardný vstup alebo súbor

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz cut1
Príkaz cut

Použitie:

cut -c list [súbor...]

cut -f list [-d delim] [-s] [súbor...]

list špecifikuje stĺpce, ktoré sa majú vybrať

-c stĺpce sú chápané ako jednotlivé znaky

-f stĺpce sú chápané ako znaky oddelené tabulátormi

-d delim určuje oddeľovací znak, ktorý sa použije namiesto tabulátora

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz cut2
Príkaz cut

-s riadky neobsahujúce oddeľovací znak zostanú bez zmeny

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr klad cut
Príklad cut

cut -c 2,4,7

12345678

247

<eof>

>

?:

Vysvetlivky:

> - znak, ktorým sa hlási operačný systém

rovné písmená - text zadávaný užívateľom

šikmé písmená - výstup programu

<eof> - príznak konca súboru

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz paste
Príkaz paste

  • spojí riadky súborov

  • vstupom sú súbory alebo štandardný vstup

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz paste1
Príkaz paste

Použitie:

paste [-s] [-d list] súbor...

-s spojenie riadkov súborov v takom poradí v akom sú na príkazovom riadku

-d list zoznam obsahuje znaky, ktoré sa použijú na oddeľovanie riadkov jednotlivých súborov (cyklicky)

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr klad paste
Príklad paste

súbor a.txt - obsahuje text

11prvy 11druhy

12prvy 12druhy

súbor b.txt - obsahuje text

21prvy 21druhy

22prvy 22druhy

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr klad paste1
Príklad paste

>paste a.txt b.txt

11prvy 11druhy 21prvy 21druhy

12prvy 12druhy 22prvy 22druhy

>

?:

Vysvetlivky:

> - znak, ktorým sa hlási operačný systém

rovné písmená - text zadávaný užívateľom

šikmé písmená - výstup programu

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz tr
Príkaz tr

  • filtruje alebo zamieňa znaky

  • vstupom je štandardný vstup

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz tr1
Príkaz tr

Použitie:

tr[prepínače] reťazec1 [reťazec2]

Prepínače:

-d znaky zadané v parametri reťazec1 budú vymazané

-c vytvorí doplnok množiny znakov v parametri reťazec1

-s zruší viacnásobný výskyt reťazca zadaného ako parameter reťazec1 alebo reťazec2 vo vstupe

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz tr2
Príkaz tr

-u výstup nebude zdržiavaný vo vyrovnávacej pamäti

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr klad tr
Príklad tr

>tr “[:lower:]“ “[:upper:]“

MweFd23

MWEFD23

<eof>

>

?:

Vysvetlivky:

> - znak, ktorým sa hlási operačný systém

rovné písmená - text zadávaný užívateľom

šikmé písmená - výstup programu

<eof> - príznak konca súboru

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr klad tr1
Príklad tr

tr -cd “[:print:]“ < subor

- odfiltruje netlačitelné znaky zo súboru

tr -cs “[:alpha:]” “\n“ < subor

- vytvorí zoznam slov zo suboru

- každé slovo na jednom riadku

- slovo je retazec písmen

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz sort
Príkaz sort

  • usporiada riadky textového súboru

  • vstupom je súbor alebo štandardný vstup

?:

Len všeobecný tvar, kvôli priveľkému počtu prepínačov a ich parametrov.

Kompletný tvar:

sort [-cmus] [-t separator] [-o output-file] [-T tempdir]

[-bdfiMnr] [+POS1[-POS2]] [-k POS1[,POS2]] [file...]

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz sort1
Príkaz sort

Použitie:

sort prepínače-parametre [súbor...]

Pracuje v jednom z troch módov:

  • usporiadanie (implicitný mód)

  • test usporiadania prepínač -c

  • zlučovanie a triedenie súborov po skupinách prepínač -m

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr klad sort
Príklad sort

>sort

jano

andrej

<eof>

andrej

jano

>

?:

Vysvetlivky:

> - znak, ktorým sa hlási operačný systém

rovné písmená - text zadávaný užívateľom

šikmé písmená - výstup programu

<eof> - príznak konca súboru

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr klad sort1
Príklad sort

súbor mena - obsahuje text

jano

andrej

miso

fero

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr klad sort2
Príklad sort

>sort -c mena

sort: disorder on mena

>

?:

Vysvetlivky:

> - znak, ktorým sa hlási operačný systém

rovné písmená - text zadávaný užívateľom

šikmé písmená - výstup programu

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz sed
Príkaz sed

  • dávkový editor

  • vstupom je súbor alebo štandardný vstup

  • výstupom je štandardný výstup

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz sed1
Príkaz sed

Použitie:

sed prepínače príkazy [súbory]

príkazy - príkazy programu sed

súbory - súbor s príkazmi

- súbory s upravovaným textom

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz sed2
Príkaz sed

Prepínače:

-e príkaz - pridá príkaz k zoznamu príkazov

-f súbor - pridá príkazy zo súboru k zoznamu príkazov

-n - potlačí vypisovanie výstupných riadkov na výstup

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz sed3
Príkaz sed

Formát príkazov programu sed:

[adresa[,adresa]]funkcia[argumenty]

adresa - číslo riadku v súbore od začiatku, na ktorom sa daná funkcia vykoná

bez adresy - funkcia sa vykoná na všetkých riadkoch

znak $ - špeciálna adresa - posledný riadok posledného súboru

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz sed4
Príkaz sed

Funkcie:

d - vybraný riadok sa nezobrazí

- vykonávanie príkazov začne od začiatku

n - zobrazí riadok a prejde na ďalší riadok vstupného súboru

a - pripojí text k vybranému riadku

p - vypíše vybraný riadok na výstup

- ignoruje nastavenie prepínača -n

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz sed5
Príkaz sed

Funkcie: (pokračovanie)

w subor - podobne ako funkcia p ale výstup je posielaný do súboru

r subor - obsah súboru pripojí k vybranému riadku

a text - ku vybranému riadku pripojí text

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr klad sed
Príklad sed

subor pokus.txt - obsahuje text

riadok jedna

riadok dva

treti riadok

4. riadok

riadok 5

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr klad sed1
Príklad sed

>sed -n ‘2,4 p’ pokus.txt

riadok dva

treti riadok

4. riadok

>

?:

Vysvetlivky:

> - znak, ktorým sa hlási operačný systém

rovné písmená - text zadávaný užívateľom

šikmé písmená - výstup programu

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr klad sed2
Príklad sed

>sed ‘2 a nove’ pokus.txt

riadok jedna

riadok dvanove

treti riadok

4. riadok

riadok 5

>

?:

Vysvetlivky:

> - znak, ktorým sa hlási operačný systém

rovné písmená - text zadávaný užívateľom

šikmé písmená - výstup programu

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz awk
Príkaz awk

  • vyhľadávanie vzorov v texte a vykonávanie akcií

  • vlastný jazyk pre prácu s textom

  • mnoho konštrukcií je podobných s C

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz awk1
Príkaz awk

Použitie:

awk -f programovýsúbor [súbory]

awk program [súbory]

Prepínač -f - program sa načíta z programového súboru

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz awk2
Príkaz awk

Formát programu pre awk:

vzor { akcia }

vzor { akcia }

...... ...........

  • vzor vyberá riadky zo vstupného súboru

  • na vybranom riadku sa vykoná akcia

  • ak nie je uvedený vzor akcia sa vykoná na všetkých riadkoch

  • ak nie je uvedená akcia riadky sa prekopírujú na výstup

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz awk3
Príkaz awk

Vzory:

  • regulárne výrazy

  • provnávacie operátory < <= == != >= >

  • logické operátory || &&

  • interval riadkov dva vzory oddelené čiarkou

  • „BEGIN“ akcie sa vykonajú na začiatku

  • „END“ akcie sa vykonajú na konci

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz awk4
Príkaz awk

Vzory: (pokračovanie)

$číslo - určuje stĺpec v riadku

  • ~ - vzor sa nachádza v prvom stĺpci

    # označenie komentára

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz awk5
Príkaz awk

Akcie:

print - vytlačí riadok na výstup

  • ten možno presmerovať do súboru operátormi > >>

  • alebo do iného programu operátorom |

  • $číslo vyberá jeden stĺpec z riadku

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz awk6
Príkaz awk

Premenné:

  • umožňuje použiť premenné

  • NR číslo aktuálneho riadku

  • $0 aktuálny riadok

  • NF počet polí v aktuálnom riadku

  • $1-$n polia v aktuálnom riadku

  • FS oddeľovač polí na vstupe

  • OFS oddeľovač polí na výstupe

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz awk7
Príkaz awk

Premenné: (pokračovanie)

  • RS oddeľovač riadkov (záznamov) na vstupe

  • ORS oddeľovač riadkov na (záznamov) výstupe

  • FILENAME meno vstupného suboru

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz awk8
Príkaz awk

Funkcie:

  • length(reťazec) - dĺžka reťazca

  • int(číslo) - celá časť čísla

  • index(R1,R2) - vráti pozíciu, kde začína reťazec R2 v reťazci R1

  • split(R,P,O) - ukladá prvky R oddelené O do poľa P

  • substr(R,P,L) - vráti podreťazec R začínajúci na pozícii P dĺžky L

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz awk9
Príkaz awk

Funkcie: (pokračovanie)

  • match(S,R) - vráti pozíciu reťazca R v reťazci S

    - nulu ak sa nenachádza

  • tolower(R) - skonvertuje reťazec na malé písmená

  • toupper(R) - skonvertuje reťazec na veľké písmená

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz awk10
Príkaz awk

Operátory:

  • ako v jazyku C

    • * /% + = ++ --

    • += -= *= /= %=

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr kaz awk11
Príkaz awk

Asociatívne polia:

  • indexami sú reťazce

  • prístup do poľa:

    pole [ reťazec ] = hodnota

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr klad awk
Príklad awk

súbor ahoj - obsahuje text

toyota gl 23 10243

mercedes h 50 49654

volvo st 44 89621

ford pl 38 52101

seat td 29 35670

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr klad awk1
Príklad awk

>awk ‘{printf $3, $1 }’ ahoj

23 toyota

50 mercedes

44 volvo

38 ford

29 seat

>

?:

Vysvetlivky:

> - znak, ktorým sa hlási operačný systém

rovné písmená - text zadávaný užívateľom

šikmé písmená - výstup programu

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr klad awk2
Príklad awk

>awk ‘$4 < 50000’ ahoj

toyota gl 23 10243

mercedes h 50 49654

seat td 29 35670

>

?:

Vysvetlivky:

> - znak, ktorým sa hlási operačný systém

rovné písmená - text zadávaný užívateľom

šikmé písmená - výstup programu

Unix - príkazy pre prácu s textom (Tomáš Karas)


Pr klad awk3
Príklad awk

>awk ‘NR == 2, NR == 4’ ahoj

mercedes h 50 49654

volvo st 44 89621

ford pl 38 52101

>

?:

Vysvetlivky:

> - znak, ktorým sa hlási operačný systém

rovné písmená - text zadávaný užívateľom

šikmé písmená - výstup programu

Unix - príkazy pre prácu s textom (Tomáš Karas)


ad