Hvordan man tæller linjer af en fil ved kommandolinje

Har du brug for at få linjen i en tekstfil eller et dokument? Tæller linjer i en hvilken som helst fil er let på kommandolinjen, og kommandoen for line tælling er den samme i alle moderne Unix-baserede operativsystemer, hvilket betyder, at dette linjetællings trick vil fungere det samme på Mac OS og Mac OS X, Linux, BSD, og endda Windows med Bash shell.

Til vores formål her vil vi bruge det mest direkte linjetællingsværktøj til rådighed på kommandolinjen, wc. Værktøjet wc er i stand til at vise linjetælling, samt afsløre ordtælling og karaktertælling. Vores fokus her er selvfølgelig den første, så vi viser hvordan man bruger wc til at tælle linjer i enhver tekstfil, der leveres som input.


wc definerer en linje som "en række tegn afgrænset af en nylinjetype", hvilket betyder, at kun unikke nye linjer tælles som en linje. Så hvis der ikke er nogen newline-tegn i en fil, og filen kun er en enorm sætning eller en enkelt kommandostreng, vil den blive rapporteret som en linje.

Sådan tæller du linjer af filer fra terminalen med toilet

  1. Åbn et Terminal vindue, hvis du ikke allerede har gjort det (i Mac OS er Terminal-programmet fundet i / Applications / Utilities /)
  2. Ved kommandoprompten skal du indtaste følgende kommandosyntax og erstatte "filnavn" med den fil, du vil tælle linjer for
  3. wc -l filename

  4. Hit Return, vil du se linjens antal af filen, der udskrives før filnavnet

Som du sandsynligvis gættede, er -l-flag (små bogstaver L) for "linje".

For eksempel kan du køre kommandoen wc -l på en fil placeret på skrivebordet kaldet "exampleFileToCountLines.txt" som følgende:

% wc -l ~/Desktop/exampleFileToCountLines.txt
1213 /Users/Paul/Desktop/exampleFileToCountLines.txt

Som du kan se i dette eksempel er linjetællingen af ​​den givne tekstfil 1213, hvilket betyder, at filen er 1.213 linjer lang.

Kommandoen wc fungerer ens på et moderne Unix-baseret operativsystem, herunder Mac OS, Linux, FreeBSD, Windows med Bash og meget mere.

Brug wc til at tælle linjer, ord og karaktertællinger af en fil

Du kan også køre kommandoen wc uden -l-flaget, som så afslører linjetællingen, ordtællingen og tegntællingen i den rækkefølge. Synes godt om:

wc /etc/hosts
9 32 214 /etc/hosts

Kontrast denne kommando output til den samme kommando med kun wc -l flag:

wc -l /etc/hosts
9 /etc/hosts

Dette tæller kun linjerne i en tekstfil som input, og det ændrer slet ikke filen. Hvis du ønsker at ændre filen, kan du manuelt tilføje linjenumre til en tekstfil via kommandolinjen.

Sådan tæller du linjer med piped output data med wc

Du kan også bruge wc til at tælle linjer af data, der er ledet ind i den, f.eks. Fra kat eller ls:

cat /etc/hosts | wc -l

Udgangen i dette scenario vil simpelthen være antallet af linjer i filen, som "9".

Kommandoen wc er ret pæn, du kan læse den manuelle side for wc for at få endnu flere ideer og tricks til brug.

Dette er naturligvis alle gearet til kommandolinjen, men der er også andre måder at få linjestykker og karaktertællinger af filer på.

Du kan manuelt tælle dem ud for korte filer, tredjeparts Mac-apps som BBEdit viser linjenummer som standard, og hvis du får den lille kusine til BBEdit kendt som TextWrangler, kan du også gå om at vise linjenumre i TextWrangler også. Du kan også lave et DIY Word og tegn counter værktøj til Mac som en Service. Og hvis du tilfældigvis allerede kender linjenummeret til en fil, du vil have adgang til, kan du hoppe direkte til et bestemt linjenummer i TextEdit, selvom TextEdit desværre ikke viser linjenumre, der ligner en overvågning.