Linux provides cut
command for remove sections from each line of output in bash. cut
el comando proporciona un mecanismo para filtrar la extracción de columna / texto de un archivo o salida estándar. A continuación encontrará ejemplos detallados., Tenemos el siguiente archivo de texto de nombre fruits.txt
apple 1 good grape 5 bad banana 2 not bad
cut OPTION... ...
Seleccione la Columna
Cortar comando proporciona la capacidad para seleccionar una columna especificada según el número de caracteres para todas las filas. Aquí imprimiremos todas las filas 3 línea de caracteres por línea a la consola. Esto solo imprimirá un solo carácter.,
$ cut -c3 fruits.txt
Select Column For Character Range
en el ejemplo anterior, hemos impreso un solo carácter en la terminal. También podemos imprimir varios caracteres en la consola especificando el rango de caracteres como a continuación. Podemos ver que el índice de caracteres comienza en 1.,
$ cut -c1-6 fruits.txt
Seleccione la Columna Utilizando la Posición de Inicio
Otra característica útil de corte se especifica únicamente a la posición de inicio hasta el final.
$ cut -c3- fruits.txt
seleccionar columna usando la posición final
podemos imprimir el rango desde el inicio hasta la posición especificada solo especificando la posición final., Esto asumirá la posición de inicio como 1
$ cut -c-3 fruits.txt
seleccione h2>
el campo es una parte del texto delimitado con caracteres específicos como espacio, tabulación, coma Doble, etc. Podemos seleccionar texto con números de campo. Por defecto, el delimitador de campo es tab. Nuestro texto ya se proporciona tab para la delimitación. En este ejemplo, seleccionaremos 3. campo.,
$ cut -f3 fruits.txt
Seleccionar Varios Campos
tal y Como hacemos en los personajes también podemos especificar el rango del campo. Seleccionaremos nombres de frutas y cuentas con el siguiente comando.
$ cut -f1-2 fruits.txt
El siguiente ejemplo se selecciona más de un campo, uno por uno no utilizar rangos.,
$ cut -f1,2,3 fruits.txt
Campo
Uno de los más populares de los usos de cut
es la impresión último campo. El problema es que el recuento de campos puede cambiar según el texto y no podemos especificar el último campo solo usando el comando cut
. El siguiente ejemplo utiliza el comando rev
para obtener el último campo.,
$ cat fruits.txt | rev | cut -f1 | rev
Seleccionar Campos Incluyen Especificado de Caracteres
Por defecto cut
no tienen la capacidad para excluir las líneas de acuerdo a los personajes pero grep
puede ser utilizado fácilmente para implementar esta característica., Sólo tendremos que seleccionar filas contienen app
$ grep "app" fruits.txt | cut -f1-2
Seleccione los Campos Excepto para determinados Caracteres
Podemos revertir el ejemplo anterior y eliminar no deseados filas. Eliminaremos lines contains app
y luego imprimiremos columnas del 1 al 2 .,
$ grep -v "app" fruits.txt | cut -f1-2
Especificar el Delimitador
El delimitador que se utiliza para dividir los campos. De forma predeterminada, la pestaña se utiliza como delimitador. Pero se puede especificar con -d
opción como a continuación. Siguiendo el ejemplo, usamos :
como delimitador porque el archivo passwd
lo usa. Entonces solo queremos mostrar los nombres de usuario que residen en el campo 1.,
$ cut -d: -f1 /etc/passwd
Imprimir Excepto los Campos
Como vemos anteriormente campos puede ser impresa como rangos demasiado. También podemos imprimir exceptuando los campos. Esto imprimirá todos los campos de cambio de nombre. Siguiendo el ejemplo, podemos querer imprimir todos los campos excepto 2.
cambiar delimitador
El texto puede tener delimitadores por defecto. En algunas situaciones, es posible que queramos cambiar el delimitador mientras imprimimos en la consola., --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