Из техничких разлога садржај читалишта можете пратити искључиво на латиници.

Podela Linux fajlova na komade pomoću komande split

Neke jednostavne Linux komande omogućavaju vam da podelite fajlove i ponovo ih sastavite po potrebi kako biste se prilagodili ograničenjima veličine fajlova za skladištenje ili za priloge e-pošte

Linux sistemi sadrže jednostavnu komandu za razbijanje fajlova na komade. Ovo je nešto što bi moglo da vam bude potrebno pre nego što pošaljete fajlove na neko mesto za skladištenje koje ograničava veličine fajlova ili ih šaljete e-poštom kao priloge. Da biste fajl podelili na delove, jednostavno koristite naredbu split.

$ split velikifajl

Podrazumevano, komanda split koristi veoma jednostavnu šemu imenovanja. Fajlovi će se imenovati xaa, xab, xac, itd., I, pretpostavljamo, ako razbijate dovoljno veliki fajl, možda ćete dobiti čak i komade nazvane xza i xzz.

Ako ne zahtevate, naredba se izvršava bez davanja povratnih informacija. Međutim, možete koristiti opciju --verbose ako želite da gledate kako nastaju delovi fajla.

$ split –-verbose velikifajl
creating file 'xaa'
creating file 'xab'
creating file 'xac'

Takođe možete da doprinesete davanju imena fajlovima tako da im dodate prefiks. Na primer, da biste sve delove vaše originalne datoteke imenovali velikifajl.xaa, velikifajl.xab i tako dalje, dodali biste svoj prefiks na kraj komande split, ovako:

$ split –-verbose velikifajl velikifajl.
creating file 'velikifajl.aa'
creating file 'velikifajl.ab'
creating file 'velikifajl.ac'

Imajte na umu da se na kraj prefiksa prikazanog u gornjoj naredbi dodaje tačka. U suprotnom, datoteke bi imale imena poput velikifajlxaa, a ne velikifajl.xaa.

Imajte na umu da naredba split ne uklanja vaš originalni fajl, već samo pravi komade. Ako želite da odredite veličinu komada, to možete dodati u svoju naredbu koristeći opciju -b. Na primer:

$ split -b100M bigfile

Veličina delova može da se navede i u kilobajtima, megabajtima, gigabajtima… do yottabajtova! Samo koristite odgovarajuće slovo: K, M, G, T, P, E, Z i Y.

Ako želite da se fajl deli na osnovu broja redova u svakom komadu, a ne po broju bajtova, možete da koristite opciju -l (linije). U ovom primeru svaki fajl će imati 1.000 redova, osim, naravno, posljednji koji može da ima manje redova.

$ split --verbose -l1000 logfile log.
creating file 'log.aa'
creating file 'log.ab'
creating file 'log.ac'
creating file 'log.ad'
creating file 'log.ae'
creating file 'log.af'
creating file 'log.ag'
creating file 'log.ah'
creating file 'log.ai'
creating file 'log.aj'

Ako vam treba da na udaljenom mestu iz tih delova ponovo sastavite fajl, to možete lako da uradite koristeći komandu cat, kao što su:

$ cat x?? > original.file
$ cat log.?? > original.file

Deljenje i ponovno sastavljanje pomoću gore prikazanih naredbi trebalo bi da funkcioniše i za binarne fajlove kao i za tekstualne fajlove. U ovom primeru smo podelili binarni fajl zip na komade od po 50 kilobajta, upotrebili smo cat da ih ponovo sastavimo i zatim uporedili sastavljeni i originalni fajl. Komanda diff potvrđuje da su fajlovi isti.

$ split --verbose -b50K zip zip.
creating file 'zip.aa'
creating file 'zip.ab'
creating file 'zip.ac'
creating file 'zip.ad'
creating file 'zip.ae'
$ cat zip.a? > zip.new
$ diff zip zip.new
$ <== no output = no difference

Jedini oprez koji moram da preporučim u ovom trenutku je da ćete, ako često koristite split i koristite podrazumevano imenovanje, verovatno na kraju prepisati neke komade drugima i možda ponekad imati više komada nego što ste očekivali, jer su neki ostali od nekog ranijeg razbijanja.

Izvor: NetworkWorld