Creative Saplings

10 ejemplos prácticos de comandos de Linux Cut para seleccionar columnas de archivos

enero 9, 2021
No Comments

El comando de Linux Cut se utiliza para el procesamiento de texto. Puede usar este comando para extraer parte del texto de un archivo seleccionando columnas.

Este tutorial proporciona algunos ejemplos prácticos del comando de corte que puede usar en sus actividades diarias en la línea de comandos.

Para la mayor parte del ejemplo, usaremos el siguiente archivo de prueba.

$ cat test.txtcat command for file oriented operations.cp command for copy files or directories.ls command to list out files and directories with its attributes.

Seleccionar columna de caracteres

Para extraer solo una columna deseada de un archivo, use la opción -c. El siguiente ejemplo muestra el segundo carácter de cada línea de un archivo test.txt

$ cut -c2 test.txtaps

Como se vio arriba, los caracteres a, p, s son el segundo carácter de cada línea del archivo test.txt.

Seleccionar columna de caracteres usando Rango

El rango de caracteres también se puede extraer de un archivo especificando la posición inicial y final delimitada con -. El siguiente ejemplo extrae los primeros 3 caracteres de cada línea de un archivo llamado test.txt

$ cut -c1-3 test.txtcatcpls

Seleccione la columna de caracteres usando la posición inicial o final

Se puede pasar la posición inicial o final al comando de corte con la opción -c.

Lo siguiente especifica solo la posición inicial antes del ‘-‘. Este ejemplo extrae desde el tercer carácter hasta el final de cada línea del archivo test.txt.

$ cut -c3- test.txtt command for file oriented operations. command for copy files or directories. command to list out files and directories with its attributes.

Lo siguiente especifica solo la posición final después de «-«. Este ejemplo extrae 8 caracteres del principio de cada línea del archivo test.txt.

$ cut -c-8 test.txtcat commcp commals comma

La línea completa se imprimirá si no especifica un número antes o después de ‘-‘ como se muestra a continuación.

$ cut -c- test.txtcat command for file oriented operations.cp command for copy files or directories.ls command to list out files and directories with its attributes.

Seleccionar un campo específico de un archivo

En lugar de seleccionar x número de caracteres, si desea extraer un campo completo, puede combinar la opción -f y -d. La opción -f especifica qué campo desea extraer, y la opción -d especifica cuál es el delimitador de campo que se usa en el archivo de entrada.

El siguiente ejemplo muestra solo el primer campo de cada línea de / etc / passwd usando el delimitador de campo: (dos puntos). En este caso, el primer campo es el nombre de usuario. El archivo

$ cut -d":" -f1 /etc/passwdrootdaemonbinsyssyncgamesbala

Seleccionar varios campos de un archivo

También puede extraer más de un campo de un archivo o stdout. El siguiente ejemplo muestra el nombre de usuario y el directorio de inicio de los usuarios que tienen el shell de inicio de sesión como «/ bin / bash».

$ grep "/bin/bash" /etc/passwd | cut -d":" -f1,6root:/rootbala:/home/bala

Para mostrar el rango de campos, especifique el campo de inicio y el campo final como se muestra a continuación. En este ejemplo, seleccionamos los campos 1 a 4, 6 y 7

$ grep "/bin/bash" /etc/passwd | cut -d":" -f1-4,6,7root:x:0:0:/root:/bin/bashbala:x:1000:1000:/home/bala:/bin/bash

Seleccionar campos solo cuando una línea contenga el delimitador

En nuestro ejemplo de / etc / passwd, si pasa un delimitador diferente a: (dos puntos), cut solo mostrará la línea completa.

En el siguiente ejemplo, nosotros ‘ he especificado el delimitador como | (tubería), y el comando cut simplemente muestra la línea completa, incluso cuando no encuentra ninguna línea que tenga | (tubería) como delimitador.

$ grep "/bin/bash" /etc/passwd | cut -d"|" -f1root:x:0:0:root:/root:/bin/bashbala:x:1000:1000:bala,,,:/home/bala:/bin/bash

Pero es posible filtrar y mostrar solo las líneas que contienen el delimitador especificado usando la opción -s.

El siguiente ejemplo no muestra ningún resultado, ya que el comando cut no lo hizo No encuentro ninguna línea que tenga | (tubería) como delimitador en el archivo / etc / passwd.

$ grep "/bin/bash" /etc/passwd | cut -d"|" -s -f1

Seleccionar todos los campos excepto los campos especificados

Para complementar la lista de campos de selección, utilice la opción –complemento.

Se muestra el siguiente ejemplo todos los campos del archivo / etc / passwd excepto el campo 7

$ grep "/bin/bash" /etc/passwd | cut -d":" --complement -s -f7root:x:0:0:root:/rootbala:x:1000:1000:bala,,,:/home/bala

Cambiar el delimitador de salida para visualización

Por defecto, el delimitador de salida es el mismo como delimitador de entrada que especificamos en la opción cut -d.

Para cambiar el delimitador de salida utilice la opción –output-delimiter como se muestra a continuación. En este ejemplo, el delimitador de entrada es: (dos puntos), pero el delimitador de salida es # (hash).

$ grep "/bin/bash" /etc/passwd | cut -d":" -s -f1,6,7 --output-delimiter="#"root#/root#/bin/bashbala#/home/bala#/bin/bash

Cambiar delimitador de salida a línea nueva

En este ejemplo, todos y cada uno de los campos de la salida del comando de corte se muestran en una línea separada. Todavía usamos –output-delimiter, pero el valor es $ ‘\ n’, lo que indica que debemos agregar una nueva línea como delimitador de salida.

$ grep bala /etc/passwd | cut -d":" -f1,6,7 --output-delimiter=$"\n"bala/home/bala/bin/bash

Combine Cortar con otra salida de comando de Unix

El poder del comando de corte puede realizarse cuando lo combina con la salida estándar de algún otro comando de Unix.

Una vez que domine el uso básico del comando de corte que hemos explicado anteriormente, puede usar sabiamente el comando cut para resolver muchos de sus requisitos de manipulación de texto.

El siguiente ejemplo indica cómo puede extraer solo información útil de la salida del comando ps. También mostramos cómo filtramos la salida del comando ps usando grep y sed antes de que se diera la salida final al comando cut.Aquí, hemos utilizado la opción de corte -d y -f que hemos explicado en los ejemplos anteriores.

> Agrega tu comentario

Si te ha gustado este artículo, es posible que también te guste ..

  1. 50 Tutoriales de Linux Sysadmin
  2. Los 50 comandos de Linux más utilizados (con ejemplos)
  3. Las 25 mejores herramientas de depuración y monitoreo del rendimiento de Linux
  4. ¡Mami, lo encontré! – 15 ejemplos prácticos de comandos de búsqueda de Linux
  5. Linux 101 Hacks 2nd Edition eBook
  • Introducción a Awk – 7 ejemplos de impresión Awk
  • Ejemplos avanzados de sustitución de Sed
  • 8 Fundamentos esenciales de navegación del editor Vim
  • 25 Ejemplos de reglas de IPTables de Linux más utilizados
  • Acelere PuTTY con 12 potentes complementos


Articles
Previous Post

Las 40 citas de rosas

Next Post

control del tamaño del texto

Deja una respuesta Cancelar la respuesta

Entradas recientes

  • Las mejores escuelas de fotografía del mundo, 2020
  • Los ciudadanos soberanos llevan su filosofía antigubernamental a las carreteras
  • Guía de costos de reparación de estuco
  • Muckrakers (Español)
  • Precision Oncology (Español)

Archivos

  • febrero 2021
  • enero 2021
  • diciembre 2020
  • noviembre 2020
  • octubre 2020
  • septiembre 2020
  • Deutsch
  • Nederlands
  • Svenska
  • Norsk
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
  • 한국어
Proudly powered by WordPress | Theme: Fmi by Forrss.