Lõigake tekstifail pooleks (või mistahes protsendiks) Ubuntu Linuxis

Lõigake tekstifail pooleks (või mistahes protsendiks) Ubuntu Linuxis
Lõigake tekstifail pooleks (või mistahes protsendiks) Ubuntu Linuxis

Video: Lõigake tekstifail pooleks (või mistahes protsendiks) Ubuntu Linuxis

Video: Lõigake tekstifail pooleks (või mistahes protsendiks) Ubuntu Linuxis
Video: Advanced Troubleshooting for Frozen/Lockup Computers/Servers and Applications - YouTube 2024, November
Anonim

Kui teil on töötlemata tekstifail, mida proovite töödelda, võib see jagada jaotistega mõnikord aega töötlemisele, eriti kui me kavatseme faili arvutustabelisse importida. Või võite lihtsalt otsida konkreetset faili ridade kogumit.

Sisestage split, wc, saba, kass ja grep. (ärge unustage sed ja awk). Linux sisaldab rikkalikku komplekti kommunikatsiooniprotseduure tekstifailide tööks käsureal. Tänase ülesande jaoks kasutame split ja wc.

Esmalt vaadake meie logifaili …

> ls -l -rw-r–r– 1 thegeek ggroup 42046520 2006-09-19 11:42 access.log

Näeme, et failisuurus on 42 MB. See on kena suur … aga kui palju ridu teeme? Kui me tahame seda Excelisse importida, peaksime seda säilitama vähem kui 65k liinidel.

Vaatame failide ridade arvu, kasutades wc-utiliiti, mis tähistab "sõnaarvu".

> wc -l access.log 146330 access.log

Me oleme üle piiri. Peame jagama selle kolmeks segmendiks. Selleks kasutame jagatud utiliiti.

> 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

Oleme nüüd oma tekstifailid jaganud 3 eraldiseisvaks failiks, millest igaüks sisaldab vähem kui 60 000 rida, mis tundus hea numbri valimiseks. Viimane fail sisaldab jäänud kogust. Kui te kavatsete seda konkreetset faili lõigata pooleks, oleksite seda teinud:

> split -l 73165 access.log

Ja see on kõik selleks.

Soovitan: