slide1
Download
Skip this Video
Download Presentation
Unix

Loading in 2 Seconds...

play fullscreen
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
slide1

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)

slide3

Ú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)

slide4

Ú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)

slide5

Ú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