Jagage tekstifail pooleks (või protsentides) Ubuntu Linuxile
Kui teil on raskekujuline tekstifail, mida proovite töödelda, võib osade jagamine sektsioonidesse mõnikord aidata töötlemisaega, eriti kui me kavatseme faili arvutustabelisse importida. Või võib-olla tahate lihtsalt failide hulgast teatud rida.
Sisestage jagatud, wc, saba, kass ja grep. (ärge unustage sed ja awk). Linux sisaldab rida kommunaalteenuseid käsurea tekstifailidega töötamiseks. Meie ülesande jaoks kasutame täna jagatud ja wc.
Kõigepealt vaatame meie logifaili ... .
> ls-l
-rw-r-r- 1 thegeek ggroup 42046520 2006-09-19 11:42 access.log
Me näeme, et faili suurus on 42MB. See on suur suur… aga kui palju ridu oleme? Kui me tahaksime seda Excelisse importida, siis peaksime seda hoidma vähem kui 65 000 rida.
Vaatame failis olevate ridade arvu, kasutades wc-utiliiti, mis tähistab sõna-sõnade arvu.
> wc -l access.log
146330 access.log
Me oleme üle meie piiri. Peame jagama selle kolmeks segmendiks. Selleks kasutame jagatud utiliiti.
> split -l 60000 access.log
> ls-lkokku 79124
-rw-rw-r- 1 thegeek ggroup 40465200 2006-09-19 12:00 access.log
-rw-rw-r- 1 thegeek ggroup 16598163 2006-09-19 12:05 xaa
-rw-rw-r- 1 thegeek ggroup 16596545 2006-09-19 12:05 xab
-rw-rw-r- 1 thegeek ggroup 7270492 2006-09-19 12:05 xac
Oleme nüüd jaganud meie tekstifailid kolmeks eraldi failiks, millest igaüks sisaldab vähem kui 60000 rida, mis tundus olevat hea number valida. Viimane fail sisaldab järelejäänud summat. Kui te selle konkreetse faili pooleks lõigaksite, oleksite seda teinud:
> split -l 73165 access.log
Ja see kõik on seal.