Ha egy nehézkes szöveges fájlt próbál feldolgozni, a szakaszokban való felosztás néha segíthet az idő feldolgozásában, különösen ha fájlt importálnánk egy táblázatra. Vagy érdemes csak egy sor vonalakat lekérni egy fájlból.
Adja meg a split, WC, farok, macska és grep. (ne felejtsd el a sed-ot és az awk-t). A Linux gazdag segédprogramot tartalmaz a szöveges fájlok feldolgozásához a parancssorban. Ma a mi feladatunk a split és a WC.
Először megnézzük a naplófájlunkat ….
> ls -l -rw-r–r– 1 thegeek ggroup 42046520 2006-09-19 11:42 access.log
Látjuk, hogy a fájl mérete 42 MB. Ez elég nagy … de hány sor van itt? Ha Excel-be szeretnénk importálni, kevesebbet kell tartanunk, mint 65 000 sor.
Ellenőrizzük a sorok sorát a fájlban a wc segédprogram használatával, ami a "szószám" kifejezést jelenti.
> wc -l access.log 146330 access.log
Túl nagy a határunk. Ezt három részre kell osztanunk. Ehhez a megosztott segédprogramot használjuk.
> split -l 60000 access.log > ls -l
total 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
Most szétválasztottuk a szövegfájljainkat 3 különálló fájllal, amelyek mindegyike kevesebb mint 60000 sort tartalmazott, és úgy tűnt, mintha jó szám lenne kiválasztani. Az utolsó fájl a maradék összeget tartalmazza. Ha ezt a fájlt félre szeretné vágni, akkor ezt megtette volna:
> split -l 73165 access.log
És mindez van rajta.