bash script


#1

Prosím mohl by mi někdo poradit, či pomoci vyřešit tento problém:

Vytvořte skript (*.sh), který projde zadaný tarovaný a gzipovaný archiv skupiny souborů, v každém souboru zamění zadané slovo za jiné a výsledné soubory uloží opět do stejného (původního) archivu. Vstupem skriptu je vstupní archiv, hledané slovo a cílové slovo. Předpokládejte, že archiv obsahuje pouze textové soubory a nemá adresářovou strukturu.

Výstup Vašeho skriptu, bude pouze na chybový výstup pokud zadaný archiv neexistuje.

Děkuji za pomoc.


#2

Chceš, abychom za Tebe dělali domácí úkoly? :slight_smile: Ono to není tak těžký, zkusím Tě nasměrovat: man tar a man sed … gl.


#3

Bohužel mě vhodili do něčeho, co jsem nikdy neviděl, tak alespoň nějaký základ, abych věděl, jak se v tom posixu manévruje. a co si mohu dovolit a co ne.


#4


Nejlepsi je asi zacit s Bash Guide for Beginners. Nebo pripadne nejaky tutorial - i v cestine se nejaky najde.


#5

Bash ma interni prikazy podobne jinym programovacim jazykum. Pokud to dokazes algoritmicky rozmyslet, popis prikazy se syntaxi bashe je malickost. Osobne si myslim, ze by to dokonce slo udelat na jeden radek (ani ne nijak dlouhy) pomoci toho co radi stderr a z bashe vlastni temer nic potreba nebude, staci unixova roura (|) :slight_smile:


#6

No jelikož jsem úplný začátečník, takže moc nevím o čem ste mluvili, ale doufam, ze to nejak zvladnu.


#7

Tak ještě pár odkazů. Pěkný seriál o programování v bashi je na abclinuxu: http://www.abclinuxu.cz/clanky/navody/bash-i ; rozbalení/listování/balení tarballu dělá program tar (man: http://unixhelp.ed.ac.uk/CGI/man-cgi?tar) a nahrazení řetězce je na sed (man: http://unixhelp.ed.ac.uk/CGI/man-cgi?sed + užitečné jednořádkové skripty: http://sed.sourceforge.net/sed1line_cz.html ).