Oszd meg a szöveges fájlt az Ubuntu Linux fele (vagy bármilyen százalékban)

Oszd meg a szöveges fájlt az Ubuntu Linux fele (vagy bármilyen százalékban)
Oszd meg a szöveges fájlt az Ubuntu Linux fele (vagy bármilyen százalékban)
Anonim

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.

Ajánlott: