Hur man räknar linjer i en fil med kommandoraden

Behöver du få raden på en textfil eller ett dokument? Att räkna linjer av vilken fil som helst är lätt på kommandoraden, och kommandot för radenräkning är detsamma i alla moderna Unix-baserade operativsystem, vilket betyder att det här raden kommer att fungera lika på Mac OS och Mac OS X, Linux, BSD, och till och med Windows med Bash-skal.

För våra ändamål här använder vi det mest direkta radräknande verktyget tillgängligt på kommandoraden, wc. Wc-verktyget kan visa radenräkning, samt avslöja ordräkning och teckenräkning. Vårt fokus här är förstås den tidigare, så vi ska visa hur vi använder wc för att räkna linjer i vilken textfil som helst som input.


wc definierar en rad som "en rad tecken som avgränsas av en ny linje", vilket innebär att endast unika nya linjer räknas som en rad. Så om det inte finns några newline-tecken i en fil, och filen är bara en enorm mening eller en enda kommandosträng, skulle den rapporteras som en linje.

Hur man räknar linjer av filer från terminalen med wc

  1. Öppna ett terminalfönster om du inte redan har gjort det (i Mac OS finns Terminal-programmet i / Program / Verktyg /)
  2. Vid kommandotolken anger du följande kommandosyntax, ersätter "filnamn" med filen du vill räkna linjer för
  3. wc -l filename

  4. Hit Return, kommer du att se linjen räknat på filen som skrivs ut före filnamnet

Som du troligen gissade är -l-flaggan (små bokstäver L) för "linje".

Om du till exempel kör kommandot wc -l på en fil som ligger på skrivbordet som heter "exampleFileToCountLines.txt" ser det ut som följande:

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

Som du kan se i det här exemplet är radantalet för den angivna textfilen 1213, vilket betyder att filen är 1 213 linjer lång.

Kommandot wc fungerar på samma sätt som ett modernt Unix-baserat operativsystem, inklusive Mac OS, Linux, FreeBSD, Windows med Bash och mer.

Använda wc för att räkna linjer, ord och karaktärsantal för en fil

Du kan också köra kommandot wc utan -l-flaggan, som då kommer att avslöja radräkningen, ordräkningen och teckenräkningen i den ordningen. Tycka om:

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

Kontrastera den här kommandoutmatningen till samma kommando med endast wc -l-flagga:

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

Detta räknar bara raderna i en textfil som input och det ändrar inte filen alls. Om du vill ändra filen kan du manuellt lägga till radnummer till en textfil via kommandoraden.

Hur man räknar rader med piped output data med wc

Du kan också använda wc för att räkna rader med vilken data som helst som rörs in i den, till exempel från katt eller ls:

cat /etc/hosts | wc -l

Utgången i det scenariot kommer helt enkelt att vara antalet linjer i filen, som "9".

Kommandot wc är ganska snyggt, du kan läsa den manuella sidan för wc för att få ännu fler idéer och tricks för användning.

Detta är uppenbarligen allt inriktat på kommandoraden, men det finns också andra sätt att få linjer och karaktärsantal av filer också.

Du kan manuellt räkna ut dem för korta filer, tredje parts Mac-appar som BBEdit visar linjenummer som standard, och om du får den lilla kusinen till BBEdit som kallas TextWrangler kan du gå om att visa radnummer i TextWrangler också. Du kan också göra ett DIY-ord och teckenräknare för Mac som en tjänst. Och om du redan känner till radenummeret på en fil du vill komma åt, kan du hoppa direkt till ett visst radnummer i TextEdit, men tyvärr TextEdit visar inte radnummer, vilket verkar som en övervakning.