Det finns många Linux-kommandon och verktyg som används för att bearbeta textfiler. Men det finns tillfällen då du inte vill läsa hela innehållet i en fil, utan snarare en specifik del av den. Vet du att du kan använda head- och tail-kommandona på Linux för att mata ut början respektive slutet av en fil?

Läs vidare för att upptäcka hur du kan använda dessa två kommandon för att effektivt bearbeta och manipulera text på Linux.

Vad är huvudkommandot?

Head-kommandot används för att skriva ut de första delarna av en fil. Den läser filerna från början. Om du har en fil som har över tusen rader skulle det vara väldigt krångligt att öppna den och läsa. Du kan enkelt bara skriva ut några rader från toppen med hjälp av head-kommandot.

Huvudets kommandosyntax

Den grundläggande syntaxen för head-kommandot är:

huvud[alternativ][fil]

Det finns många tillgängliga alternativ att använda vid sidan av huvudkommandot, av vilka några kommer att diskuteras senare. Till få kommandoradshjälp angående head-kommandot, kontrollera dess manualsida genom att köra:

instagram viewer
mans huvud

Hur man använder huvudkommandot

För det här exemplet, skapa en fil: nummer.txt. I filen, lista siffrorna ett till 20 i ord. Du kan välja att använda valfri fil, men se till att den har minst 11 rader.

Använda standardhuvudkommandot

Som standard skriver head-kommandot ut de första 10 textraderna i en fil. Prova med filen numbers.txt genom att köra det här kommandot i din terminal:

huvudtal.Text

Det kommer att skriva ut de första 10 raderna i filen:

ett
två
tre
fyra
fem
sex
sju
åtta
nio
tio

Om filen har mindre än 10 rader kommer head-kommandot att skriva ut alla rader som finns.

Skriv ut det första N antalet rader

Du kan använda head-kommandot för att skriva ut ett visst antal rader istället för standardinställningen 10. För att skriva ut de tre första raderna i filen numbers.txt, kör följande kommando:

huvud-n 3 tal.Text

Resultatet:

ett
två
tre

Exkludera de sista N raderna med hjälp av huvudkommandot

Precis som du kan skriva ut de första raderna i en text, kan du också välja att utesluta de sista N raderna vid utskrift. Du kan göra detta genom att använda ett negativt tal för N-parametern.

För att utesluta de sista 15 raderna i filen numbers.txt, kör:

huvud-n-15tal.Text

Resultatet:

ett
två
tre
fyra
fem

Skriv ut de första N tecknen i en fil

Head-kommandot har också möjlighet att skriva ut det första antalet tecken eller bytes i en fil. Du kan göra detta genom att använda -c alternativ. För att skriva ut de första 10 tecknen, använd:

huvud-c 10 tal.Text

Produktion:

ett
två
th

Vad är svanskommandot?

Som namnet antyder skriver tail-kommandot ut de sista raderna i en fil. Den läser filerna från slutet och matar ut slutraderna.

Svanskommandosyntax

Den grundläggande syntaxen för svanskommandot är:

svans[alternativ][fil]

För mer information om svanskommandot, kolla dess manualsida genom att utfärda:

 man svans

Hur man använder svanskommandot

Vi kommer att använda den redan skapade filen numbers.txt för följande exempel.

Använda standard svanskommando

Svanskommandot matar ut de sista 10 raderna i en fil när det används utan några speciella alternativ. Till exempel:

svanstal.Text

Utgången kommer att visa de senaste 10 raderna som nämnts:

elva
tolv
tretton
fjorton
femton
sexton
sjutton
arton
nitton
tjugo

Skriv ut det sista N antalet rader

I en situation där du inte vill skriva ut de sista 10 raderna, utan ett specifikt nummer, kan du använda -n möjlighet att uppnå det. För att skriva ut de fyra sista raderna i filen numbers.txt, kör följande kommando:

svans-n 4 tal.Text

Resultatet:

sjutton
arton
nitton
tjugo

Skriv ut rader efter en specifik rad

Om du vill börja från en viss linje N kan du använda -n alternativ tillsammans med ett positivt tal för att uppnå det. För att skriva ut utdata från filen numbers.txt från den 17:e raden, kör följande kommando:

svans-n +17 tal.Text

Resultatet:

sjutton
arton
nitton
tjugo

Skriv ut de sista N tecknen i en fil

Precis som head-kommandot kan du skriva ut de sista tecknen i filen genom att använda -c alternativ. För att skriva ut de sista 10 tecknen i filen numbers.txt, kör följande kommando:

svans-c 10 tal.Text

Resultatet:

sv
tjugo

Använda huvud- och svanskommandon med flera filer

Du kan också använda head and tail för att skriva ut mer än en fil åt gången. Detta är syntaxen för att använda kommandona med flera filinmatningar:

huvud[alternativ][fil1][fil2]
svans[alternativ][fil1][fil2]

Använda huvud- och svanskommandon tillsammans

Du kan till och med använda huvud och svans i samma kommando med hjälp av rörsymbolen. Rörsymbolen omdirigerar utdata från ett kommando som input till en annan.

Till exempel, för att få den sjätte, sjunde och åttonde raden, kan du utföra detta kommando:

head -n 8 numbers.txt | svans -n 3

Resultatet:

sex
sju
åtta

I den tidigare nämnda one-liner visade head-kommandot de första åtta raderna i filen, sedan utgången skickades vidare till tail-kommandot, som skrev ut de tre sista raderna av den omdirigerade produktion.

huvud och svans: Användbara kommandon för textmanipulation

Linux erbjuder massor av kommandon som hjälper dig att effektivt manipulera och bearbeta textfiler, och huvud- och svanskommandona är bara två av många. De vanligaste textmanipuleringskommandona inkluderar grep, uniq, sort, sed, awk, etc. Var och en av dem fyller ett annat syfte med sin unika funktionsuppsättning.

Förutom huvud och svans finns det massor av andra text- och filmanipuleringskommandon tillgängliga för Linux-användare.