Betalingsmetoder Abuse

Sådan tæller du antallet af linjer i en Linux-fil

26.10.2022, 16:12

Det er velkendt, at programmer med grafisk brugerflade er mere praktiske at bruge, fordi de er designet til høje krav, og terminalen giver dig mulighed for at løse visse opgaver meget hurtigere. Så der findes et program, wc, som kan tælle antallet af linjer i en fil. Antallet af linjer siger ikke så meget, men hvis flere kommandoer kombineres, kan du tælle linjerne under hensyntagen til de nødvendige parametre. Hvordan tæller man linjer i en Linux-fil? Lad os fremhæve et par enkle, men effektive eksempler på brug af grep-, sed- og awk-kommandoer.

Find antallet af linjer i en Linux-fil

Vi har allerede set på WC-kommandoen, og nu skal vi gøre os bekendt med en af dens nøgleparametre -l. Den tæller overgange til en ny linje, det vil sige, at hele linjen tælles, inklusive tomme linjer. Kommandoen klarer opgaven hurtigere end alle de andre, men kun visse strenge er mulige - med en given betingelse.

$ wc -l name_file

$ grep -c $ name_file

$ sed -n $= name_file

$ awk 'END{ print NR }' name_file

Sådan tæller du antallet af linjer i en Linux-fil

Som vi kan se, er resultatet det samme, men wc-kommandoen tog kortere tid om at udføre opgaven. De andre kommandoer kan bruges til komplekse forespørgsler. Med grep-kommandoen kan du finde strenge, der kun indeholder tekst: grep -c 'text' file_name.

$ grep -c 'text' file_name

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

Grep-kommandoen håndterer regulære udtryk, så du kan kombinere flere AND-, OR- og NOT-betingelser.

Når sed udfører tekstbehandling, men det er meget nemmere at udføre en endelig linjetælling med wc-kommandoen. Du kan slette alle linjer, der er mindre end tre tegn lange, og komplekse tilfælde tælles uden kommentarer.

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

Sådan tæller du antallet af linjer i en Linux-fil

Hvis opgaven er enkel, kan den udføres på andre måder. Awk-kommandoen vil være enklere og lettere at forstå.

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

Sådan tæller du antallet af linjer i en Linux-fil

For at få et visuelt eksempel på awk-kommandoen, så lad os tælle strenge, mens vi søger efter den ønskede værdi i csv-tabel-filen.

I eksemplet tæller vi antallet af rækker, hvor værdien af den anden parameter er mere end 50.

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

Sådan tæller du antallet af linjer i en Linux-fil

Tilføj 0 til udtrykket for at fjerne alle ikke-numeriske udtryk.