L'ordre cut a linux és una ordre per tallar les seccions de cada línia de fitxers i escriure el resultat a la sortida estàndard. Es pot utilitzar per tallar parts d'una línia per posició de byte, caràcter i camp. L'ordre de retallar talla una línia i extreu el text. Cal especificar una opció amb una ordre en cas contrari donarà un error. Si es proporciona més d'un nom de fitxer, les dades de cada fitxer no van precedits pel seu nom de fitxer.
Taula de contingut
- Sintaxi de l'ordre cut
- Opcions disponibles a l'ordre de tall
- Exemples pràctics d'ordre de tall
- Extreu bytes específics (-b) mitjançant l'ordre cut
- Talla per caràcter (-c) Utilitzant l'ordre cut
- Retalla per camp (-f) Utilitzant l'ordre cut
- Sortida del complement (–complement) mitjançant l'ordre cut
- Delimitador de sortida (–output-delimiter) Utilitzant l'ordre cut
- Mostra la versió (–versió) mitjançant l'ordre cut
- Com utilitzar la cua amb tubs (|) a l'ordre de tall
- Preguntes freqüents sobre l'ordre cut a Linux - Preguntes freqüents
Sintaxi de l'ordre cut
La sintaxi bàsica delcut>l'ordre és:
cut OPTION... [FILE]...>
On
`OPTION`> especifica el comportament desitjat
` FILE> `>representa el fitxer d'entrada.
Nota : SiFILE>no s'especifica, ` cut`> llegeix des de l'entrada estàndard (stdin).
Opcions disponibles a l'ordre de tall
Aquí hi ha una llista de les opcions més utilitzades amb el ` cut`> comandament:
| Opció | Descripció |
|---|---|
| -b, –bytes=LISTA | Selecciona només els bytes especificats a |
| -c, –caràcters=LLISTA | Selecciona només els caràcters especificats a |
| -d, –delimitador=DIVIDE | Usos |
| -f, –camps=LIS | Selecciona només els camps especificats a |
| -n | No dividiu els caràcters de diversos bytes (cap efecte tret que |
| -complement | Inverteix la selecció de camps/caràcters. Imprimeix els camps/caràcters no seleccionats. |
Exemples pràctics d'ordre de tall
Considerem dos fitxers amb nom state.txt i capital.txt conté 5 noms dels estats i capitals indis respectivament.
$ cat state.txt Andhra Pradesh Arunachal Pradesh Assam Bihar Chhattisgarh>
Sense cap opció especificada, mostra un error.
$ cut state.txt cut: you must specify a list of bytes, characters, or fields Try 'cut --help' for more information.>
Extreu bytes específics (-b>) Utilitzant l'ordre cut
-b (byte): Per extreure els bytes específics, heu de seguir l'opció -b amb la llista de números de bytes separats per comes. L'interval de bytes també es pot especificar mitjançant el guionet (-). Cal especificar la llista de números de bytes, en cas contrari, donarà error.
Pestanyes i retrocés es tracten com un caràcter d'1 byte.
Llista sense intervals :
cut -b 1,2,3 state.txt>

llista sense rang
Llista amb intervals:
cut -b 1-3,5-7 state.txt>

llista amb rang
Utilitza un formulari especial per seleccionar bytes des del principi fins al final de la línia:
Formulari especial: selecció de bytes des del principi fins al final de la línia
En això, 1- indica des del 1r byte fins al byte final d'una línia
cut -b 1- state.txt>

forma especial amb l'opció -b
En això, -3 indica des del 1r byte al 3r byte d'una línia
cut -b -3 state.txt>

opció especial de forma -b
Tallat per personatge (-c>) Utilitzant l'ordre cut
-c (columna): Per tallar per caràcter, utilitzeu l'opció -c. Això selecciona els caràcters donats a l'opció -c. Pot ser una llista de números separats per comes o un rang de números separats per guionet (-).
Pestanyes i retrocés són tractats com un personatge. Cal especificar la llista de números de caràcters, en cas contrari es donarà error amb aquesta opció.
Sintaxi:
cut -c [(k)-(n)/(k),(n)/(n)] filename>
Aquí, k denota la posició inicial del personatge i n indica la posició final del caràcter a cada línia, si k i n estan separats per - en cas contrari només són la posició del caràcter a cada línia del fitxer pres com a entrada.
Extreu caràcters específics:
cut -c 2,5,7 state.txt>

Extreu caràcters específics
L'ordre de tall superior imprimeix el segon, cinquè i setè caràcter de cada línia del fitxer.
Extreu els primers set caràcters:
cut -c 1-7 state.txt>

Extreu els primers set caràcters
L'ordre de tall superior imprimeix els primers set caràcters de cada línia del fitxer. Cut utilitza un formulari especial per seleccionar caràcters des del principi fins al final de la línia:
Forma especial: selecció de caràcters des del principi fins al final de la línia
cut -c 1- state.txt>

seleccionant caràcters des del principi fins al final de la línia mitjançant l'opció -c
L'ordre anterior s'imprimeix des del primer caràcter fins al final. Aquí al comandament només s'especifica la posició inicial i s'omet la posició final.
cut -c -5 state.txt>

seleccionant caràcters des del principi fins al final de la línia mitjançant l'opció -c
L'ordre superior imprimeix la posició inicial al cinquè caràcter. Aquí s'omet la posició inicial i s'especifica la posició final.
Tallat per camp (-f>) Utilitzant l'ordre cut
-f (camp): -c L'opció és útil per a línies de longitud fixa. La majoria dels fitxers Unix no tenen línies de longitud fixa. Per extreure la informació útil cal tallar per camps en lloc de columnes. La llista del nombre de camps especificat s'ha de separar per comes. Els intervals no es descriuen amb l'opció -f . tallar usos pestanya com a delimitador de camp predeterminat, però també pot funcionar amb un altre delimitador mitjançant l'ús -d opció.
Nota: L'espai no es considera delimitador a UNIX.
Sintaxi:
cut -d 'delimiter' -f (field number) file.txt>
Extreu el primer camp:
Com a l'arxiu state.txt els camps estan separats per espai si no s'utilitza l'opció -d, llavors imprimeix la línia sencera:
cut -f 1 state.txt>

Extreu el primer camp mitjançant l'opció -f
Si ` -d` s'utilitza l'opció, llavors es considera l'espai com a separador o delimitador de camps:
cut -d ' ' -f 1 state.txt>

espai com a separador o delimitador de camps
Extreu els camps de l'1 al 4:
L'ordre imprimeix el camp del primer al quart de cada línia del fitxer.
cut -d ' ' -f 1-4 state.txt>

L'ordre imprimeix el camp del primer al quart
Sortida del complement (--complement>) Utilitzant l'ordre cut
-complement: Com el seu nom indica, complementa la sortida. Aquesta opció es pot utilitzar en combinació amb altres opcions amb -f o amb -c .
cut --complement -d ' ' -f 1 state.txt>

-complement
cut --complement -c 5 state.txt>

-complement
Delimitador de sortida (--output-delimiter>) Utilitzant l'ordre cut
-delimitador de sortida: Per defecte, el delimitador de sortida és el mateix que el delimitador d'entrada amb el qual especifiquem al tall -d opció. Per canviar el delimitador de sortida, utilitzeu l'opció –output-delimiter=delimitador .
cut -d ' ' -f 1,2 state.txt --output-delimiter='%'>

Aquí l'ordre de tall canvia el delimitador (%) a la sortida estàndard entre els camps que s'especifica mitjançant l'opció -f .
Versió de visualització (--version>) Utilitzant l'ordre cut
-versió: Aquesta opció s'utilitza per mostrar la versió de tall que s'està executant al vostre sistema.
cut --version>

Mostra la versió de l'ordre de tall
Com utilitzar la cua amb tubs (|) a l'ordre de tall
L'ordre cut es pot canalitzar amb moltes altres ordres d'unix. A l'exemple següent, la sortida del fitxer gat L'ordre es dóna com a entrada al fitxer tallar comanda amb -f opció per ordenar els noms d'estat procedents del fitxer state.txt en ordre invers.
cat state.txt | cut -d ' ' -f 1 | sort -r>

utilitzant cua amb tub (|) a l'ordre de tall
També es pot canalitzar amb un o més filtres per a un processament addicional. Com en l'exemple següent, estem utilitzant l'ordre cat, head i cut i la sortida de la qual s'emmagatzema al nom de fitxer list.txt mitjançant la directiva(>).
cat state.txt | head -n 3 | cut -d ' ' -f 1>list.txt>
cat list.txt>

quantes ciutats EUA
redirecció de la sortida en un fitxer diferent
Preguntes freqüents sobre l'ordre cut a Linux - Preguntes freqüents
Com faig servir el cut> comanda per extreure columnes específiques d'un fitxer?
Exemple: per extreure la primera i la tercera columna d'un fitxer CSV anomenat ` data.csv`> .
cut -d',' -f1,3 data.csv>
Puc utilitzar cut> per extreure una sèrie de caràcters de cada línia?
Si, tu pots. Per extreure caràcters del 5 al 10 de cada línia d'un fitxer anomenattext.txt>.
cut -c5-10 text.txt>
Com puc canviar el delimitador que utilitza el cut> comandament?
Utilitzeu el ` -d`> opció seguida del caràcter delimitador. Per exemple, per utilitzar els dos punts (:>) com a delimitador.
cut -d':' -f1,3 data.txt>
És possible utilitzar-lo cut> per extreure camps basats en la posició del caràcter?
Sí, podeu especificar les posicions dels caràcters amb el ` -c`> opció. Per exemple, per extreure caràcters de l'1 al 5 i del 10 al 15 de cada línia.
cut -c1-5,10-15 data.txt>
Com ho faig servir cut> per extreure camps basats en un delimitador específic i emmagatzemar-los en un fitxer nou?
Per extreure camps separats per comes i emmagatzemar-los en un fitxer nou anomenat ` output.tx> t`>
cut -d',' -f1,3 data.csv>output.txt>
Conclusió
En aquest article hem parlat de ` cut`> comanda a Linux, que és una eina versàtil per extreure seccions específiques dels fitxers en funció de la posició del byte, el caràcter o el camp. Talla línies de text i emet les dades extretes. No s'especifica una opció amb elcut>L'ordre dóna lloc a un error. Es poden processar diversos fitxers, però la sortida no inclou els noms dels fitxers. Opcions com ara ` -b`> , ` -c`> , i ` -f`> permet l'extracció per byte, caràcter i camp, respectivament. El--complement>l'opció inverteix la selecció, imprimeix el que no està seleccionat i--output-delimiter>canvia el delimitador de sortida. L'ordre també inclou opcions per a la visualització de la versió i es pot utilitzar en combinació amb altres ordres a través de canonades per a un processament addicional.
?list=PLqM7alHXFySFc4KtwEZTANgmyJm3NqS_L