Makseviisid Abuse

Kuidas lugeda Linuxi faili ridade arvu

26.10.2022, 16:12

On teada, et graafilise kasutajaliidesega programme on mugavam kasutada, sest need on mõeldud kõrgetele nõuetele, lisaks võimaldab terminal teatud ülesandeid palju kiiremini lahendada. Nii on olemas utiliit wc, see saab lugeda faili ridade arvu. Ridade arv ei ütle palju, kuid juhul, kui mitu käsku on kombineeritud, saab lugeda ridu, võttes arvesse vajalikke parameetreid. Kuidas lugeda ridu Linuxi failis? Toome välja paar lihtsat, kuid tõhusat näidet grep, sed ja awk käskude kasutamisest.

Linuxi faili ridade arvu leidmine

WC käsuga oleme juba tutvunud, nüüd peaksime tutvuma ühe selle põhiparameetriga -l. See loeb üleminekuid uuele reale, st loendatakse kogu rida, kaasa arvatud tühjad read. See käsk saab ülesandega kiiremini hakkama kui kõik teised, kuid ainult teatud stringid on võimalikud - antud tingimusega.

$ wc -l name_file

$ grep -c $ name_file

$ sed -n $= name_file

$ awk 'END{ print NR }' name_file

Kuidas lugeda Linuxi faili ridade arvu

Nagu näeme, on tulemus sama, kuid wc käsk võttis ülesande täitmiseks vähem aega. Teised käsud on rakendatavad keerukate päringute puhul. Grep käsk võimaldab leida ainult tekstiga stringid: grep -c 'text' file_name.

$ grep -c 'text' file_name

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

Grep käsk käitleb regulaarseid väljendeid, nii et saate kombineerida mitu AND, OR, NOT tingimust.

Kui sed teostab tekstitöötlust, kuid palju lihtsam on lõpliku rea loendamist teha käsuga wc. Saate kustutada kõik read, mille pikkus on alla kolme tähemärgi. ja keerulised juhtumid loetakse ilma kommentaarideta.

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

Kuidas lugeda Linuxi faili ridade arvu

Kui ülesanne on lihtne. saab seda teha teistmoodi. awk käsk on lihtsam ja arusaadavam.

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

Kuidas lugeda Linuxi faili ridade arvu

awk käsu visuaalseks näiteks teostame stringide loendamist, otsides samal ajal csv tabelifailist vajalikku väärtust.

Loendame näites nende ridade arvu, mille teise parameetri väärtus on suurem kui 50.

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

Kuidas lugeda Linuxi faili ridade arvu

Lisame väljendi juurde 0, et eemaldada kõik mittenumbrilised väljendid.