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:
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.