Maksutavat Abuse

Kuinka laskea rivien määrä Linux-tiedostossa?

26.10.2022, 16:12

Tiedetään, että graafisella käyttöliittymällä varustettuja ohjelmia on helpompi käyttää, koska ne on suunniteltu korkeisiin vaatimuksiin, ja lisäksi päätelaitteen avulla voit ratkaista tietyt tehtävät paljon nopeammin. Joten on olemassa apuohjelma wc, se voi laskea tiedostossa olevien rivien määrän. Rivien määrä ei kerro paljon, mutta jos useita komentoja yhdistetään, voit laskea rivit ottaen huomioon tarvittavat parametrit. Kuinka laskea Linux-tiedoston rivit? Otetaanpa esiin pari yksinkertaista mutta tehokasta esimerkkiä grep-, sed- ja awk-komentojen käytöstä.

Linux-tiedoston rivien määrän selvittäminen

Olemme jo tarkastelleet WC-komentoa, nyt on syytä tutustua yhteen sen tärkeimmistä parametreista -l. Se laskee siirtymät uudelle riville, eli koko rivi lasketaan, myös tyhjät rivit. Komento selviää tehtävästä nopeammin kuin kaikki muut, mutta vain tietyt merkkijonot ovat mahdollisia - tietyllä ehdolla.

$ wc -l name_file

$ grep -c $ name_file

$ sed -n $= name_file

$ awk 'END{ print NR }' name_file

Kuinka laskea rivien määrä Linux-tiedostossa?

Kuten näemme, tulos on sama, mutta wc-komennolla kului vähemmän aikaa tehtävän suorittamiseen. Muut komennot soveltuvat monimutkaisiin kyselyihin. Grep-komennon avulla voit etsiä merkkijonoja, joissa on vain tekstiä: grep -c 'text' file_name.

$ grep -c 'text' file_name

Как читать строки

Grep-komento käsittelee säännöllisiä lausekkeita, joten voit yhdistää useita AND-, OR- ja NOT-ehtoja.

Kun sed suorittaa tekstinkäsittelyn, mutta on paljon helpompaa suorittaa lopullinen rivinlaskenta wc-komennolla. Voit poistaa kaikki alle kolmen merkin pituiset rivit. ja monimutkaiset tapaukset lasketaan ilman kommentteja.

$ sed -r '/^.{,3}$/d' file_name | wc -l

Kuinka laskea rivien määrä Linux-tiedostossa?

Jos tehtävä on yksinkertainen. se voidaan tehdä muilla tavoin. awk-komento on yksinkertaisempi ja helpompi ymmärtää.

$ awk 'length >3' file_name | wc -l

Kuinka laskea rivien määrä Linux-tiedostossa?

Havainnollistetaan awk-komennon käyttöä esimerkkinä suorittamalla merkkijonojen laskenta, kun etsitään haluttua arvoa csv-taulukkotiedostosta.

Esimerkissä lasketaan niiden rivien määrä, joiden toisen parametrin arvo on yli 50.

$ awk '$2+0 > 50' file_name | wc -l

Kuinka laskea rivien määrä Linux-tiedostossa?

Lisää lausekkeeseen 0 poistaaksesi kaikki muut kuin numeeriset lausekkeet.