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.
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
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
Kui ülesanne on lihtne. saab seda teha teistmoodi. awk käsk on lihtsam ja arusaadavam.
$ awk 'length >3' file_name | wc -l
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
Lisame väljendi juurde 0, et eemaldada kõik mittenumbrilised väljendid.