Stranica: 1/2.
Kombiniranje naredbi - arhiviranje rezultata pretrage
Postano: 01 ruj 2009, 19:54
Postao/la Gogy
Pozdrav. Već sam nešto duže vrijeme na Linuxu ali još nisam savladao neke osnove pisanja komandi kao što je moj sljedeći problem:
Znam komandu za pretraživanje fajlova, znam komandu za arhiviranje, ali ne znam kako pretražene rezultate arhivirati.
Dakle od
trebam napraviti ahrivu sa:
Re: Kombiniranje naredbi - arhiviranje rezultata pretrage
Postano: 01 ruj 2009, 21:22
Postao/la glaskoncILLa
skroz zanimljiv problem.
ovak nesto bi trebalo to odraditi
Kod: Označi sve
find . -name *.doc > dokumenti && sed -i 's#^./# #g' dokumenti && cat dokumenti | tr -d '\n' > dokumenti_new && tar -cvzf dokumenti.tar.gz `cat dokumenti_new`
naravno,, ako imas razmake u imenima fileova/direktorija, nista od toga..
Re: Kombiniranje naredbi - arhiviranje rezultata pretrage
Postano: 01 ruj 2009, 21:31
Postao/la 4ndY
Ono što tebi treba je
xargs (
man xargs).
Tada tvoj primjer izgleda:
Kod: Označi sve
find . -name *.doc | xargs tar -cvzf dokumenti.tar.gz
EDIT: vidim da je glaskonciLLa brži od mene
EDIT no.2: ako imaš i razmake u igri, onda iza xargs dodaš i flag
-0.
Re: Kombiniranje naredbi - arhiviranje rezultata pretrage
Postano: 01 ruj 2009, 21:33
Postao/la glaskoncILLa
ali da, tvoje je puno elegantnije od moga, skroz sam zaboravio na xargs.

Re: Kombiniranje naredbi - arhiviranje rezultata pretrage
Postano: 01 ruj 2009, 21:36
Postao/la 4ndY
glaskoncILLa je napisao/la:ali da, tvoje je puno elegantnije od moga, skroz sam zaboravio na xargs.

Da ti budem iskren, i ja sam prvo počeo pisat pipe kobasicu, ali mi je onda pao na pamet xargs
xargs rulz

Re: Kombiniranje naredbi - arhiviranje rezultata pretrage
Postano: 01 ruj 2009, 21:52
Postao/la Gogy
Hvala na odgovorima ali nešto me zeza.
Output:
Kod: Označi sve
find: paths must precede expression: test2.doc
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
tar: Cowardly refusing to create an empty archive
Try `tar --help' or `tar --usage' for more information.
Re: Kombiniranje naredbi - arhiviranje rezultata pretrage
Postano: 01 ruj 2009, 21:58
Postao/la 4ndY
Gogy je napisao/la:Hvala na odgovorima ali nešto me zeza.
Koju naredbu si točno ukucao?
Re: Kombiniranje naredbi - arhiviranje rezultata pretrage
Postano: 01 ruj 2009, 21:59
Postao/la glaskoncILLa
a sto ti tocno upisao i gdje se nalazi taj file?
Re: Kombiniranje naredbi - arhiviranje rezultata pretrage
Postano: 01 ruj 2009, 22:01
Postao/la Gogy
Kod: Označi sve
find . -name *.doc | xargs tar -cvzf dokumenti.tar.gz
Kod radi, ali ne smijem biti u tom folderu u terminalu (iako ne znam zašto)
bio sam navigiran u ~/Desktop/proba/ gdje se i nalaze ti fajlovi
Re: Kombiniranje naredbi - arhiviranje rezultata pretrage
Postano: 01 ruj 2009, 22:04
Postao/la 4ndY
Gogy je napisao/la:Kod: Označi sve
find . -name *.doc | xargs tar -cvzf dokumenti.tar.gz
Kod radi, ali ne smijem biti u tom folderu u terminalu (iako ne znam zašto)
bio sam navigiran u ~/Desktop/proba/ gdje se i nalaze ti fajlovi
probaj dodat xargs -0 umjesto xargs (možda negdje imaš razmak u pathu?)