Suskirstykite teksto failą į pusę (ar bet kokį procentą) Ubuntu Linux

Suskirstykite teksto failą į pusę (ar bet kokį procentą) Ubuntu Linux
Suskirstykite teksto failą į pusę (ar bet kokį procentą) Ubuntu Linux

Video: Suskirstykite teksto failą į pusę (ar bet kokį procentą) Ubuntu Linux

Video: Suskirstykite teksto failą į pusę (ar bet kokį procentą) Ubuntu Linux
Video: Install .NET 6 SDK and ASP.NET Core Runtime on Ubuntu. - YouTube 2024, Lapkritis
Anonim

Jei turite sudėtingą tekstinį failą, kurį bandote apdoroti, jo dalijimasis skyriuose kartais gali padėti apdoroti laiką, ypač jei ketiname importuoti failą į skaičiuoklę. Arba galbūt norėsite tik atkurti tam tikrą eilučių rinkinį iš failo.

Įveskite split, wc, tail, cat ir grep. (nepamiršk sed ir awk). "Linux" turi daugybę paslaugų, skirtų darbo su tekstiniais failais komandinėje eilutėje. Šiandien mūsų užduočiai naudosime split ir wc.

Pirmiausia pažvelkime į mūsų žurnalo failą ….

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

Matome, kad failo dydis yra 42 MB. Tai gana didelis … bet kiek linijų mes susiduriame? Jei norėjome tai importuoti į "Excel", mums reikės išlaikyti mažiau nei 65k linijas.

Patikrinkime failo eilučių kiekį naudodamiesi wc įrankiu, kuris reiškia "žodžių skaičių".

> wc -l access.log 146330 access.log

Mes peržengėme mūsų ribą. Turėsime padalyti į 3 segmentus. Norėdami tai padaryti, naudosime split utility.

> 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

Dabar mes suskirstome tekstinius failus į 3 atskirus failus, kurių kiekvienoje yra mažiau nei 60000 eilučių, kurios, atrodo, yra geras pasirinkimas. Paskutiniame byloje yra likusios sumos. Jei ketinate ištrinti šį failą per pusę, atliktumėte tai:

> split -l 73165 access.log

Ir visa tai yra tai.

Rekomenduojamas: