Начини плаћања Abuse

Како бројати линије у датотеци у Линуксу

26.10.2022, 16:12

Познато је да су програми са графичким интерфејсом погоднији за коришћење, јер су дизајнирани за високе захтеве, плус терминал вам омогућава да много брже решавате одређене задатке. Тако постоји услужни програм wc, он може да броји број линија у датотеци. Број линија мало говори, али у случају када се комбинује неколико команди, можете бројати линије, узимајући у обзир потребне параметре. Како бројати линије у Линуксу? Хајде да истакнемо неколико једноставних, али ефикасних примера коришћења команди grep, sed и awk.

Сазнајте број линија у Линук датотеци

Већ смо погледали WC команду, сада би требало да се упознамо са једним од њених кључних параметара - -l . Она броји прелазе у нови ред, односно броји се цео ред, укључујући и празне. Команда се носи са задатком брже од свих осталих, али је то могуће само за одређене редове - уз дати услов.

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

Како бројати линије у датотеци у Линуксу

Као што видите, резултат је исти, али је команди wc требало мање времена да заврши задатак. Остале команде су применљиве за сложене упите. Команда grep вам омогућава да пронађете редове само са текстом: grep -c 'text' file_name.

 $ grep -c 'text' file_name 

Како читати линије

Команда grep обрађује регуларне изразе, тако да можете комбиновати више услова као што су И, ИЛИ, НЕ.

Када sed обрађује текст, много је лакше извршити коначни број редова помоћу wc. Можете уклонити све редове који су краћи од три карактера, а у сложеним случајевима бројање карактера се врши без коментара.

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

Како бројати линије у датотеци у Линуксу

Ако је задатак једноставан, онда се може обавити на друге начине. Команда awk ће бити једноставнија и јаснија.

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

Како бројати линије у датотеци у Линуксу

Да бисмо илустровали како команда awk функционише, хајде да пребројимо редове док истовремено тражимо тражену вредност у csv табели.

У примеру ћемо бројати редове са вредношћу другог параметра већом од 50.

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

Како бројати линије у датотеци у Линуксу

Додајмо 0 изразу да бисмо уклонили све изразе који нису нумерички.