Așchie un text dosar înăuntru jumătate ( sau orice procentaj) on Ubuntu Linux
Dacă tu ai un unwieldy text dosar that tu ești trying la spre proces, splitting it înăuntru sections a putea uneori ajutor proces timp, especially dacă noi am fost mergi la import dosar into un spreadsheet.Or tu putere nevoie la spre chiar retrieve un specific a ezat a aranja de linii de la un dosar.
Enter așchie, wc, spate a pune coadă la, pisică, și grep. (dont’ a ierta sed și awk). Linux contact un bogat a ezat a aranja de utilitate pentru working cu text dosar pe virgulă linie. Pentru our task astăzi noi voință a voi folos așchie și wc.
Primul noi a lua un privește la our log dosar….
> ls l
-rw-rr–– 1thegeekggroup 42046520 2006-09-19 1142: access.log
Noi a vedea that art.hot. dosar size is 42MB. Thats’ kinda mare… numai cum mulți linii ești noi dealing cu? Dacă noi vrut la spre import this into Excelent, noi trec.de la will nevoie la spre a păstra it mai puțin decît 65k linii.
Lets’ a verifica art.hot. amount de linii în dosar folosire art.hot. wc utilitate, care suport pentru “ cuvînt țară”.
> wc l access.log
146330 access.log
Were’ way încă o dată our limită. Well’ nevoie la spre așchie this into 3 segments. Well’ folos art.hot. așchie utilitate la spre a face this.
> așchie l 60000 access.log
> ls ltotal 79124
-rw-rw-r– 1 thegeek ggroup 40465200 2006-09-19 1200: access.log
-rw-rw-r– 1 thegeek ggroup 16598163 2006-09-19 1205: xaa
-rw-rw-r– 1 thegeek ggroup 16596545 2006-09-19 1205: xab
-rw-rw-r– 1 thegeek ggroup 7270492 2006-09-19 1205: xac
Weve’ acum așchie our text dosar into 3 seperate dosar, each containing mai puțin decît 60000 linii, care seemed asemănător un bun număr la spre a alege. Art.hot. ultimul dosar contact art.hot. leftover amount. Dacă tu were mergi la tăietură this specific dosar înăuntru jumătate, youd’ have done this:
> așchie l 73165 access.log
Și, thats’ tot acolo is la spre it.

Daily Poștă electronică Updates
Tu poți a lua our cum- la spre anghinară înăuntru al tău inbox each zi pentru drum liber. Chiar enter al tău nume și poștă electronică sub:


Dacă tu ai bc și sed a instala, de ce nu a face this la spre a socoti art.hot. jumătate point de la dosar și parfum art.hot. așchie?
așchie l $(echo $( pisică tmp.txt | wc l)/2 | bc l | sed e ’s/\..*/’) access.log
NB: bc seems la spre lipsă la spre un floating-point output. Art.hot. sed invocation efectiv act as un chemare la spre etaj(), stripping away art.hot. număr după art.hot. decimal, și making meu traducere de așchie fericit. I oaspete that art.hot. sed expresie trec.de la will nevoie la spre a fi scimbare la spre ’s/,.*/’ pentru local that folos ‘,’ as lor “ număr după art.hot. decimal” indicator.