giver Linux cut
kommando til at fjerne afsnit fra hver linje i produktionen i bash. cut
kommando giver en mekanisme til at filtrere uddrag kolonne/tekst fra en fil eller standard output. Detaljerede eksempler kan findes nedenfor., Vi har efter en tekst-fil med navnet fruits.txt
apple 1 good grape 5 bad banana 2 not bad
cut OPTION... ...
Vælg Kolonne
Cut-kommando giver mulighed for at vælge en bestemt kolonne i henhold til tegnnummeret for alle rækker. Her udskriver vi alle rækker 3 tegn linje for linje til konsollen. Dette udskriver kun et enkelt tegn.,
$ cut -c3 fruits.txt
Vælg Kolonne For tegnområde
I det foregående eksempel, har vi trykt et enkelt tegn til terminalen. Vi kan også udskrive flere tegn til konsollen ved at angive tegnområdet som nedenfor. Vi kan se, at tegnindekset starter ved 1.,
$ cut -c1-6 fruits.txt
Vælg Kolonne ved Hjælp af Start-Position
en Anden nyttig funktion i snit er angivelse af kun at starte stilling op til udgangen.
$ cut -c3- fruits.txt
Vælg Kolonne ved Hjælp af endestop
Vi kan udskrive spænder fra start til den angivne position kun at angive slutningen position., Dette vil antage, start position som 1
$ cut -c-3 fruits.txt
Vælg Enkelt Felt
feltet er en del af teksten, der er afgrænset med særlige tegn, som plads, tab, dobbelt komma, etc. Vi kan vælge tekst med feltnumre. Som standard felt afgrænser er fanen. Vores tekst er allerede forudsat fane til afgrænsning. I dette eksempel vælger vi 3. felt.,
$ cut -f3 fruits.txt
Vælg Flere Felter
Som vi gør i tegn, vi kan også angive feltet interval. Vi vælger frugtnavne og tæller med følgende kommando.
$ cut -f1-2 fruits.txt
følgende eksempel vælger mere end ét felt, én efter én, ikke ved hjælp af intervaller.,
$ cut -f1,2,3 fruits.txt
Sidste Felt
En af de mest populære anvendelser af cut
udskriver den sidste felt. Problemet er, at feltantal kan ændres i henhold til tekst, og vi kan ikke angive det sidste felt kun ved hjælp af cut
kommando. Følgende eksempel bruger rev
kommando for at få sidste felt.,
$ cat fruits.txt | rev | cut -f1 | rev
Vælg Felter, der Omfatter Angivne Tegn
Som standard cut
ikke har mulighed for at ekskludere linjer i henhold til tegn, men grep
kan bruges nemt til at gennemføre denne funktion., Vi vil kun vælge rækker, der indeholder app
$ grep "app" fruits.txt | cut -f1-2
Vælg Felter, Undtagen for de Angivne Tegn
Vi kan vende det foregående eksempel og fjerne uønskede rækker. Vi vil fjerne linjer indeholder app
og derefter udskrive kolonner fra 1 til 2 .,
$ grep -v "app" fruits.txt | cut -f1-2
Angiv Afgrænser
skilletegn er anvendt til opdeling af marker. Som standard bruges fanen som afgrænseren. Men det kan specificeres med -d
mulighed som nedenfor. Efter eksemplet bruger vi :
som afgrænsning, fordi passwd
filen bruger den. Så vil vi kun vise brugernavne, der findes i felt 1.,
$ cut -d: -f1 /etc/passwd
Print (udskriv), Undtagen Felter
Som vi se tidligere felter, der kan være trykt som varierer også. Vi kan også udskrive med undtagelse af felter. Dette udskriver alle omdøbningsfelter. Efter eksemplet kan vi udskrive alle felter undtagen 2.
Skift afgrænsning
tekst kan som standard have afgrænsere. I nogle situationer ønsker vi måske at ændre afgrænsning, mens vi udskriver til konsollen., --output-delimiter
option can be used for this operation. The following example will change the tab delimiter to the comma.
$ cut -f1,2,3 --output-delimiter="," fruits.txt