Hvordan telle linjer i en fil etter kommandolinje
Innholdsfortegnelse:
Trenger du linjetellingen til en tekstfil eller et dokument? Å telle linjer i en hvilken som helst fil er enkelt på kommandolinjen, og kommandoen for linjetelling er den samme i alle moderne Unix-baserte operativsystemer, noe som betyr at dette linjetellingstrikset vil fungere på samme måte på Mac OS og Mac OS X, Linux, BSD, og til og med Windows med Bash-skall.
For våre formål her vil vi bruke det mest direkte linjetellingsverktøyet som er tilgjengelig på kommandolinjen, wc. Wc-verktøyet er i stand til å vise linjetelling, samt avsløre ordtelling og tegntelling. Vårt fokus her er selvfølgelig på førstnevnte, så vi skal vise hvordan du bruker wc for å telle linjer i en tekstfil som er gitt som input.
wc definerer en linje som "en streng med tegn avgrenset av et nylinjetegn", noe som betyr at bare unike nye linjer vil bli regnet som en linje. Så hvis det ikke er noen nylinjetegn i en fil, og filen bare er en enorm setning eller en enkelt kommandostreng, vil den bli rapportert som én linje.
Hvordan telle linjer med filer fra terminalen med wc
- Åpne et Terminal-vindu hvis du ikke allerede har gjort det (i Mac OS finnes Terminal-applikasjonen i /Applications/Utilities/)
- Ved ledeteksten skriv inn følgende kommandosyntaks, og bytt ut "filnavn" med filen du vil telle linjer for
- Trykk Retur, du vil se linjetellingen til filen skrevet ut før filnavnet
wc -l filnavn
Som du sannsynligvis har gjettet, er -l-flagget (små bokstaver L) for "linje".
For eksempel vil å kjøre wc -l-kommandoen på en fil som ligger på skrivebordet k alt "exampleFileToCountLines.txt " se slik ut:
% wc -l ~/Desktop/exampleFileToCountLines.txt 1213 /Users/Paul/Desktop/exampleFileToCountLines.txt
Som du kan se i dette eksemplet, er linjeantallet for tekstfilen som er gitt 1213, noe som betyr at filen er 1 213 linjer lang.
Wc-kommandoen fungerer på samme måte på alle moderne Unix-baserte operativsystemer, inkludert Mac OS, Linux, FreeBSD, Windows med Bash og mer.
Bruk av wc for å telle linjer, ord og tegntellinger i en fil
Du kan også kjøre wc-kommandoen uten -l-flagget, som da vil avsløre linjetellingen, ordtellingen og tegntellingen, i den rekkefølgen. Som:
wc /etc/hosts 9 32 214 /etc/hosts
Kontrast kommandoutgangen til den samme kommandoen med bare wc -l flagg:
wc -l /etc/hosts 9 /etc/hosts
Dette teller bare linjene i en tekstfil som input, og det endrer ikke filen i det hele tatt. Hvis du ønsker å endre filen, kan du manuelt legge til linjenumre i en tekstfil via kommandolinjen.
Hvordan telle linjer med piped utdata med wc
Du kan også bruke wc til å telle linjer med data som sendes inn i den, for eksempel fra cat eller ls:
cat /etc/hosts | wc -l
Utdata i det scenariet vil ganske enkelt være antall linjer i filen, som "9".
Wc-kommandoen er ganske ryddig, du kan lese manualsiden for wc for å få enda flere ideer og triks for bruk.
…Du kan manuelt telle dem ut for korte filer, tredjeparts Mac-apper som BBEdit viser linjenummer som standard, og hvis du får den lille fetteren til BBEdit kjent som TextWrangler, kan du gå om å vise linjenummer i TextWrangler også. Du kan også lage et DIY Word- og tegntellerverktøy for Mac as a Service. Og hvis du tilfeldigvis allerede vet linjenummeret til en fil du vil ha tilgang til, kan du hoppe direkte til et spesifikt linjenummer i TextEdit, men dessverre viser ikke TextEdit linjenumre, noe som virker som en forglemmelse.