Төлем әдістері Abuse

Linux жүйесінде файлдағы жолдарды қалай санауға болады

26.10.2022, 16:12

Графикалық интерфейсі бар бағдарламаларды пайдалану ыңғайлы екені белгілі, өйткені олар жоғары талаптарға арналған, сонымен қатар терминал белгілі бір тапсырмаларды әлдеқайда жылдам шешуге мүмкіндік береді. Сонымен, wc утилитасы бар, ол файлдағы жолдардың санын санай алады. Жолдар саны аз айтады, бірақ бірнеше пәрмендер біріктірілген жағдайда, қажетті параметрлерді ескере отырып, жолдарды санауға болады. Linux файлындағы жолдарды қалай санауға болады? grep, sed және awk пәрмендерін пайдаланудың бірнеше қарапайым, бірақ тиімді мысалдарын бөліп көрсетейік.

Linux файлындағы жолдардың санын табыңыз

Біз WC пәрменін қарастырдық, енді оның негізгі параметрлерінің бірімен танысуымыз керек - -l . Ол жаңа жолға өтуді санайды, яғни бос жолдарды қосқанда бүкіл жол есептеледі. Пәрмен тапсырманы басқаларына қарағанда тезірек орындайды, бірақ бұл белгілі бір жолдар үшін ғана мүмкін - берілген шартпен.

 $ wc -l name_file $ grep -c $ name_file $ sed -n $= name_file $ awk 'END{ print NR }' name_file 

Linux жүйесінде файлдағы жолдарды қалай санауға болады

Көріп отырғаныңыздай, нәтиже бірдей, бірақ wc командасы тапсырманы орындау үшін аз уақытты алды. Басқа пәрмендер күрделі сұраулар үшін қолданылады. grep пәрмені тек мәтіні бар жолдарды табуға мүмкіндік береді: grep -c 'text' file_name.

 $ grep -c 'text' file_name 

Жолдарды қалай оқуға болады

grep пәрмені тұрақты өрнектерді өңдейді, сондықтан ЖӘНЕ, НЕМЕСЕ, ЕМЕС сияқты бірнеше шарттарды біріктіруге болады.

sed мәтінді өңдеуді орындаған кезде, wc көмегімен соңғы жолды санауды орындау оңайырақ. Ұзындығы үш таңбадан аз барлық жолдарды жоюға болады және күрделі жағдайларда таңбаларды санау түсініктемелерсіз орындалады.

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

Linux жүйесінде файлдағы жолдарды қалай санауға болады

Тапсырма қарапайым болса, оны басқа жолдармен де орындауға болады. awk пәрмені қарапайым және түсінікті болады.

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

Linux жүйесінде файлдағы жолдарды қалай санауға болады

awk пәрменінің қалай жұмыс істейтінін көрсету үшін csv кесте файлында қажетті мәнді бір уақытта іздеу кезінде жолдарды санайық.

Мысалда біз екінші параметрдің мәні 50-ден асатын жолдар санын санаймыз.

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

Linux жүйесінде файлдағы жолдарды қалай санауға болады

Барлық сандық емес өрнектерді жою үшін өрнекке 0 қосамыз.