Hvordan telle antall linjer i en fil i bash

Hvordan telle antall linjer i en fil i bash

Det kan være en situasjon der det er nødvendig å opprettholde postene på antall linjer i en gitt fil. Å telle antall linjer manuelt er tidkrevende da filen kan inneholde stort og sammensatt innhold. Bash -skallet har flere kommandoer som viser antall linjer i den medfølgende filen. Vi vil dele alle kommandoene som kan kjøres i Bash Shell og vil hjelpe deg å utføre oppgaven med å telle antall linjer fra filene. Hver av disse kommandoene returnerer en status basert på hvordan de blir utført.

Eksempel 1: Tell linjene i en fil i bash med WC -kommandoen

Den mest effektive og enkle kommandoen for å telle linjene i en fil er WC som står for “Word Count”. Her gir vi WC-kommandoen i terminalen med "-l" -flagget. Flagget betegner linjene. Kommandoen “WC -L” er spesifisert med “Bash.sh ”-fil for antall linjer som skal telles fra den filen. Når vi utfører denne kommandoen, genererer den heltallverdien til “13” sammen med filnavnet “Bash.sh ”. Utgangen indikerer de totale linjene i “bash.sh ”-fil.

linux@virtualbox: ~ $ wc -l bash.sh
13 bash.sh


Navnet på filen vises også med antall tellede linjer. Vi kan også forhindre at filnavnet blir bestått som en parameter ved å bruke "<” symbol to divert the file's content to the wc command. Here, we present the “wc -l” command with the “<” symbol and then set the “Bash.sh” file name. When the command is executed in the terminal, it just displays the number of lines that are present in the file.

linux@virtualbox: ~ $ wc -l < Bash.sh
1. 3


Vi har et annet alternativ, og det er å bruke Pipe ('|') -symbolet for å legge inn metoden med CAT -kommandoen for å gi innholdet i filen til WC -kommandoen. I det følgende utfører vi kommandoen der CAT -nøkkelordet brukes med “Bash.sh ”-fil. Deretter plasserer vi røret “|” symbol før “wc -l” -kommandoen. Kommandoen returnerer bare antall linjer som ligger i “Bash.sh ”-fil.

Linux@VirtualBox: ~ $ Cat Bash.sh | wc -l
1. 3


Dessuten kan vi også telle antall linjer fra flere filer samtidig ved å bruke WC -kommandoen ved å gi plassen mellom hvert filnavn. Her gir vi en kommando der WC bruker "-linjene" -flagget med tre filer som har samme “bash.sh ”navn. Denne kommandoen viser først den enkelte linjetelling for hver fil. Deretter vises det totale antallet linjer på alle filene på slutten med det "totale" nøkkelordet.

linux@virtualbox: ~ $ wc -linjer bash.Sh Bash.Sh Bash.sh
13 bash.sh
13 bash.sh
13 bash.sh
39 Totalt

Eksempel 2: Tell linjene i en fil i bash med NL -kommandoen

Det er en teknikk for å telle linjene i enhver fil som sjelden implementeres. Kommandoen er betegnet som "NL" som leser de nummererte linjene fra inngangen og skriver dem til standardutgangen. I den følgende NL -kommandoen angir vi “Data.txt ”filnavn med“ NL ”nøkkelordet som returnerer hver linje med nummeret og innholdet i filen.

linux@virtualbox: ~ $ nl data.tekst
1 søndag
2 mandag
3 tirsdag
4 onsdag
5 torsdag
6 Fredag
7 lørdag


Kommandoen “-nl” kan brukes med forskjellige alternativer. Her bruker vi først og bruker NL -kommandoen med “Data.txt ”-fil. Etter det bruker vi rørledningen “|” symbolet og sett alternativet "hale" på høyre side av rørledningssymbolet. Halealternativet er spesifisert med “-N3” -verdien som teller de tre linjene fra den siste av “Data.txt ”-fil. Resultatet av denne kommandoen sender ut de siste linjene med inndatainnholdet i følgende bilde:

linux@virtualbox: ~ $ nl data.txt | hale -n3
5 torsdag
6 Fredag
7 lørdag

Eksempel 3: Tell linjene i en fil i bash med AWK -kommandoen

AWK er et tekstbehandler kommandolinjeverktøy som er enormt effektivt. Det kan brukes til en rekke operasjoner som å identifisere antall linjer er den ene. "AWK" -kommandoen tar parameteren "End Print Nr". NR er antall poster som skrives ut etter sluttseksjonen for å spesifisere linjene i filen. Linjene som er inkludert i bash.TXT -fil kan estimeres ved hjelp av AWK -kommandoen som er oppført som følger:

linux@virtualbox: ~ $ awk 'end print nr' bash.tekst
28

Eksempel 4: Tell linjene i en fil i bash med SED -kommandoen

Deretter bruker en metode for å få antall totale linjer i den spesifiserte filen SED -kommandoen. SED blir referert til som Stream Editor for Linux -systemet. Den utfører for det meste søket og erstatter operasjonene på dataene fra de gitte filene eller strømmer. Her bruker vi SED-kommandoen med “-N” -alternativet for å telle det totale antallet linjer fra filene. "$ =" -Operatøren sender ut gjeldende linjenummer. Deretter setter vi “Newfile.txt ”-fil som SED -kommandooperasjonen utføres.

linux@virtualbox: ~ $ sed -n '$ =' newfile.tekst
14

Eksempel 5: Tell linjene i en fil i bash med GREP -kommandoen

GREP -filteret leser en fil for et spesifikt tegnmønster og presenterer alle linjer som samsvarer med det mønsteret. GREP er en forkortelse for globalt regelmessig uttrykkstrykk. Merk følgende kommando av grep hvor vi bruker alternativet "-e" for å få det totale antallet linjer. "$" Representerer sluttlinjen for det vanlige uttrykket og "C" betegner antallet alternativet. GREP -kommandoen utføres over “Linesfile.txt ”-filen som sendes som et argument. Når vi kjører den spesifikke GREP -filen, sender den ut verdien av å telle linjene fra filen.

Linux@VirtualBox: ~ $ grep -e "$" -C Linesfile.tekst
11


Tidligere bruker vi “$” -symbolet for sluttlinjen i det vanlige uttrykket. I begynnelsen av det vanlige uttrykket er "^" -symbolet distribuert over "$" -symbolet. Formatet på GREP -kommandoen for å få tellelinjene fra starten av det vanlige uttrykket med utgangsverdien vises i det følgende:

Linux@VirtualBox: ~ $ grep -e "^" -C LineSfile.tekst
11

Eksempel 6: Tell linjene i en fil i bash med stund -kommandoen

Mens Loop er en annen tilnærming til å telle antall linjer i bash -skallet. Her er skriptet på en stund loop for å få linjene i filen. Vi setter "Count" -objektet med verdien av "0". Deretter påkaller vi "mens" -løkken som utfører leseoperasjonen. DO er tildelt med "Count = $ count+1" -tilstanden som sier at når hver telling fra filen, økes verdien av verdien av "1". Kommandoen for ferdige brukes til å stille inn “BASH3.SH ”filnavn og viser antall totale linjer i filen.

linux@virtualbox: ~ $ count = 0
linux@virtualbox: ~ $ mens du leser
> Gjør
(teller = $ count+1))
Ferdig ekko $ telling
14

Konklusjon

Guiden forklares med alle kommandoene som brukes til å skaffe antall linjer fra filen. Disse kommandoene er nyttige når de jobber i stor skala der utviklerne måler lengden på filene sine. Blant alle kommandoene for å telle fillinjene, er WC -kommandoen en veldig enkel og stort sett distribuert metode.