Det er mange Linux-kommandoer og verktøy som brukes til å behandle tekstfiler. Men det er tider når du ikke vil lese hele innholdet i en fil, men heller en bestemt del av den. Vet du at du kan bruke head- og tail-kommandoene på Linux til å skrive ut henholdsvis begynnelsen og slutten av en fil?
Les videre for å finne ut hvordan du kan bruke disse to kommandoene til å effektivt behandle og manipulere tekst på Linux.
Hva er lederkommandoen?
Head-kommandoen brukes til å skrive ut de første delene av en fil. Den leser filene fra begynnelsen. Hvis du har en fil som har over tusen linjer, vil det være veldig tungvint å åpne den og lese den. Du kan enkelt bare skrive ut noen få linjer fra toppen ved å bruke head-kommandoen.
Hodet Kommandosyntaks
Den grunnleggende syntaksen til head-kommandoen er:
hode[alternativ][fil]
Det er mange tilgjengelige alternativer å bruke sammen med head-kommandoen, hvorav noen vil bli diskutert senere. Til få kommandolinjehjelp angående head-kommandoen, sjekk manualsiden ved å kjøre:
manns hode
Hvordan bruke hodekommandoen
For dette eksemplet, lag en fil: tall.txt. I filen, skriv tallene 1 til 20 i ord. Du kan velge å bruke hvilken som helst fil du ønsker, men sørg for at den har minst 11 linjer.
Bruke standardhodekommandoen
Som standard skriver head-kommandoen ut de første 10 tekstlinjene i en fil. Prøv det med numbers.txt-filen ved å utføre denne kommandoen i terminalen din:
hodetall.tekst
Den vil skrive ut de første 10 linjene i filen:
en
to
tre
fire
fem
seks
syv
åtte
ni
ti
Hvis filen har mindre enn 10 linjer, vil head-kommandoen skrive ut alle linjene som finnes.
Skriv ut det første N antall linjer
Du kan bruke head-kommandoen til å skrive ut et bestemt antall linjer i stedet for standard 10. For å skrive ut de tre første linjene i numbers.txt-filen, kjør denne kommandoen:
hode-n 3 tall.tekst
Resultatet:
en
to
tre
Ekskluder de siste N linjene ved å bruke head-kommandoen
På samme måte som du kan skrive ut de første linjene i en tekst, kan du også velge å ekskludere de siste N linjene når du skriver ut. Du kan gjøre dette ved å bruke et negativt tall for N-parameteren.
For å ekskludere de siste 15 linjene i numbers.txt-filen, kjør:
hode-n-15tall.tekst
Resultatet:
en
to
tre
fire
fem
Skriv ut de første N-tegnene i en fil
Head-kommandoen har også muligheten til å skrive ut det første antallet tegn eller byte i en fil. Du kan gjøre dette ved å bruke -c alternativ. For å skrive ut de første 10 tegnene, bruk:
hode-c 10 tall.tekst
Produksjon:
en
to
th
Hva er halekommandoen?
Som navnet tilsier, skriver hale-kommandoen ut de siste linjene i en fil. Den leser filene fra slutten og sender ut sluttlinjene.
Halen Kommandosyntaks
Den grunnleggende syntaksen til halekommandoen er:
hale[alternativ][fil]
For mer informasjon om halekommandoen, sjekk manualsiden ved å utstede:
mann hale
Slik bruker du halekommandoen
Vi skal bruke den allerede opprettede numbers.txt-filen for følgende eksempler.
Bruke standard hale-kommando
Halekommandoen gir ut de siste 10 linjene i en fil når den brukes uten noen spesielle alternativer. For eksempel:
haletall.tekst
Utgangen vil vise de siste 10 linjene som nevnt:
elleve
tolv
tretten
fjorten
femten
seksten
sytten
atten
nitten
tjue
Skriv ut siste N antall linjer
I en situasjon der du ikke ønsker å skrive ut de siste 10 linjene, men et spesifikt antall, kan du bruke -n mulighet for å oppnå det. For å skrive ut de fire siste linjene i filen numbers.txt, kjør denne kommandoen:
hale-n 4 tall.tekst
Resultatet:
sytten
atten
nitten
tjue
Skriv ut linjer etter en bestemt linje
Hvis du vil starte fra en bestemt linje N, kan du bruke -n alternativ sammen med et positivt tall for å oppnå det. For å skrive ut utdataene fra numbers.txt-filen fra 17. linje, kjør denne kommandoen:
hale-n +17 tall.tekst
Resultatet:
sytten
atten
nitten
tjue
Skriv ut de siste N tegnene i en fil
Akkurat som head-kommandoen kan du skrive ut de siste tegnene i filen ved å bruke -c alternativ. For å skrive ut de siste 10 tegnene i numbers.txt-filen, kjør denne kommandoen:
hale-c 10 tall.tekst
Resultatet:
no
tjue
Bruke hode- og halekommandoer med flere filer
Du kan også bruke hode og hale til å skrive ut mer enn én fil om gangen. Dette er syntaksen for å bruke kommandoene med flere filinndata:
hode[alternativ][fil1][fil2]
hale[alternativ][fil1][fil2]
Bruke hode- og halekommandoer sammen
Du kan til og med bruke hode og hale i samme kommando ved å bruke rørsymbolet. Pipesymbolet omdirigerer utdataene fra én kommando som input til en annen.
For eksempel, for å få den sjette, syvende og åttende linjen, kan du utføre denne kommandoen:
head -n 8 tall.txt | hale -n 3
Resultatet:
seks
syv
åtte
I den nevnte one-liner viste head-kommandoen de første åtte linjene i filen utgangen ble sendt videre til hale-kommandoen, som skrev ut de tre siste linjene i den omdirigerte produksjon.
hode og hale: Nyttige tekstmanipulasjonskommandoer
Linux tilbyr mange kommandoer for å hjelpe deg med å effektivt manipulere og behandle tekstfiler, og hode- og halekommandoene er bare to av mange. De vanligste tekstmanipuleringskommandoene inkluderer grep, uniq, sort, sed, awk, etc. Hver av dem oppfyller et annet formål med sitt unike funksjonssett.
Bortsett fra hode og hale, er det tonnevis av andre tekst- og filmanipuleringskommandoer tilgjengelig for Linux-brukere.