Kombiniranje naredbi - arhiviranje rezultata pretrage

Novi ste u svijetu Linuxa? Imate hrpu početničkih pitanja?

Moderator/ica: Moderatori/ce

Pravila foruma
PRAVILA ZA NOVE KORISNIKE LINUXA!
Prije otvaranja bilo kakve diskusije svaki novi korisnik u svijetu Linuxa obavezan je učiniti sljedeće korake:
Pročitati ove tekstove iz naše Wikipedije:
- Sve uvodne tekstove Linuxa za početnike (njih 5)
- Sve što trebate znati o radu s diskovima
- Pročitati ovu temu za početnike
- Pokušati pronaći riješenje problema u Enciklopediji znanja

Nakon toga korisnik smije otvoriti temu s naslovom svog problema uz obaveznu naznaku Linux distribucije koju koristi u formi:
[Linux distribucija, broj verzije, grafičko okruženje]: Naslov problema
U prvom postu korisnik obavezno mora odgovoriti na ova pitanja:
- Da li ima instalirane Windowse?
- Što ga je motiviralo na instaliranje i korištenje Linux distribucije?
- Obavezno je potrebno navesti specifikacije hardvera (Ime Laptopa, tip procesora, grafičke i mrežne kartice, količina RAM-a i diska)

Bez učinjenih ovih prvih koraka, na teme se neće odgovarati i one će biti izbrisane s foruma!
Avatar
Gogy
Postovi: 683
Pridružen/a: 14 vel 2008, 22:42
Spol: M
OS: Mint (cinnamon)
Lokacija: Pula
Kontakt:

Kombiniranje naredbi - arhiviranje rezultata pretrage

Post 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

Kod: Označi sve

find . -name *.doc
trebam napraviti ahrivu sa:

Kod: Označi sve

tar -cvzf dokumenti.tar.gz
Avatar
glaskoncILLa
Postovi: 5678
Pridružen/a: 28 vel 2009, 16:36

Re: Kombiniranje naredbi - arhiviranje rezultata pretrage

Post 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..
...."Have you mooed today?"...
..It’s that time of the decade: I’m reinstalling Debian..
Avatar
4ndY
Moderator
Postovi: 4060
Pridružen/a: 15 svi 2008, 18:05
Spol: M
OS: Fedora/KDE
Lokacija: Hamburg, DE
Kontakt:

Re: Kombiniranje naredbi - arhiviranje rezultata pretrage

Post 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 :mrgreen:

EDIT no.2: ako imaš i razmake u igri, onda iza xargs dodaš i flag -0.
A neutron walks into a bar; he asks the bartender, 'How much for a beer?' The bartender looks at him, and says 'For you, no charge.'
Avatar
glaskoncILLa
Postovi: 5678
Pridružen/a: 28 vel 2009, 16:36

Re: Kombiniranje naredbi - arhiviranje rezultata pretrage

Post Postao/la glaskoncILLa »

ali da, tvoje je puno elegantnije od moga, skroz sam zaboravio na xargs. :)
...."Have you mooed today?"...
..It’s that time of the decade: I’m reinstalling Debian..
Avatar
4ndY
Moderator
Postovi: 4060
Pridružen/a: 15 svi 2008, 18:05
Spol: M
OS: Fedora/KDE
Lokacija: Hamburg, DE
Kontakt:

Re: Kombiniranje naredbi - arhiviranje rezultata pretrage

Post 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 8-)

xargs rulz :mrgreen:
A neutron walks into a bar; he asks the bartender, 'How much for a beer?' The bartender looks at him, and says 'For you, no charge.'
Avatar
Gogy
Postovi: 683
Pridružen/a: 14 vel 2008, 22:42
Spol: M
OS: Mint (cinnamon)
Lokacija: Pula
Kontakt:

Re: Kombiniranje naredbi - arhiviranje rezultata pretrage

Post 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.
Avatar
4ndY
Moderator
Postovi: 4060
Pridružen/a: 15 svi 2008, 18:05
Spol: M
OS: Fedora/KDE
Lokacija: Hamburg, DE
Kontakt:

Re: Kombiniranje naredbi - arhiviranje rezultata pretrage

Post Postao/la 4ndY »

Gogy je napisao/la:Hvala na odgovorima ali nešto me zeza.
Koju naredbu si točno ukucao?
A neutron walks into a bar; he asks the bartender, 'How much for a beer?' The bartender looks at him, and says 'For you, no charge.'
Avatar
glaskoncILLa
Postovi: 5678
Pridružen/a: 28 vel 2009, 16:36

Re: Kombiniranje naredbi - arhiviranje rezultata pretrage

Post Postao/la glaskoncILLa »

a sto ti tocno upisao i gdje se nalazi taj file?
...."Have you mooed today?"...
..It’s that time of the decade: I’m reinstalling Debian..
Avatar
Gogy
Postovi: 683
Pridružen/a: 14 vel 2008, 22:42
Spol: M
OS: Mint (cinnamon)
Lokacija: Pula
Kontakt:

Re: Kombiniranje naredbi - arhiviranje rezultata pretrage

Post 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
Avatar
4ndY
Moderator
Postovi: 4060
Pridružen/a: 15 svi 2008, 18:05
Spol: M
OS: Fedora/KDE
Lokacija: Hamburg, DE
Kontakt:

Re: Kombiniranje naredbi - arhiviranje rezultata pretrage

Post 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?)
A neutron walks into a bar; he asks the bartender, 'How much for a beer?' The bartender looks at him, and says 'For you, no charge.'
Odgovori