Aprende a Utilizar el Comando SHELL
Tabla de contenido:
- Cómo usar el comando de corte
- Cómo cortar por campo
- Cómo cortar en base a un delimitador
- Cómo complementar la selección
- Cómo especificar un delimitador de salida
- Cómo cortar por bytes y caracteres
- Cortar ejemplos
- Obtenga una lista de todos los usuarios
- Ver los 10 comandos más utilizados
- Conclusión
Hay muchas utilidades disponibles en sistemas Linux y Unix que le permiten procesar y filtrar archivos de texto. Cut es una utilidad de línea de comandos que le permite cortar partes de líneas de archivos específicos o datos canalizados e imprimir el resultado en la salida estándar. Se puede usar para cortar partes de una línea por delimitador, posición de byte y carácter.
En este tutorial, le mostraremos cómo usar el comando de corte de Linux a través de ejemplos prácticos y explicaciones detalladas de las opciones de corte más comunes.
Cómo usar el comando de corte
La sintaxis para el comando de corte es la siguiente:
cut OPTION……
Cuando use el comando de corte, debe usar una y solo una de las siguientes opciones:
-
-f
(--fields=LIST
): seleccione especificando un campo, un conjunto de campos o un rango de campos. Esta es la opción más utilizada.-b
(--bytes=LIST
): seleccione especificando un byte, un conjunto de bytes o un rango de bytes.-c
(--characters=LIST
): seleccione especificando un carácter, un conjunto de caracteres o un rango de caracteres.
Otras opciones son:
-
-d
(--delimiter
): especifique un delimitador que se utilizará en lugar del delimitador predeterminado "TAB".--complement
- complementa la selección. Al usar esta opción, cut mostrará todos los bytes, caracteres o campos excepto el seleccionado.-s
(--only-delimited
): por defecto, el corte imprimirá cualquier línea que no contenga caracteres delimitadores. Al usar esta opción, cortar no imprimirá líneas que no contengan delimitadores.--output-delimiter
: el valor predeterminado es usar el delimitador de entrada como delimitador de salida. Esta opción le permite especificar una cadena de delimitador de salida diferente.
El comando de corte puede aceptar cero o más nombres de ARCHIVO de entrada. Si no se especifica FILE, o cuando FILE es
-
, cut leerá la entrada estándar.
El argumento LIST que se pasa a las opciones
-f
,
-b
y
-c
puede ser un entero, múltiples enteros separados por comas, un rango de enteros o múltiples rangos de enteros separados por comas. Cada rango puede ser uno de los siguientes:
-
N
el enésimo campo, byte o carácter, comenzando desde 1.N-
desde el enésimo campo, byte o carácter, hasta el final de la línea.NM
del campo, byte o carácter enésimo a enésimo.-M
desde el primero hasta el campo Mth, byte o caracter.
Cómo cortar por campo
El comando Cortar se usa principalmente para mostrar los campos seleccionados de cada línea de archivos o la entrada estándar. Cuando no se especifica, el delimitador predeterminado es "TAB".
En los ejemplos a continuación, utilizaremos el siguiente archivo. Todos los campos están separados por pestañas.
test.txt
245:789 4567 M:4540 Admin 01:10:1980 535:763 4987 M:3476 Sales 11:04:1978
Para mostrar el primer y tercer campo que usaría:
cut test.txt -f 1, 3
245:789 M:4540 535:763 M:3476
O si desea mostrar del 1er al 4to campo:
cut test.txt -f -4
245:789 4567 M:4540 Admin 535:763 4987 M:3476 Sales
Cómo cortar en base a un delimitador
Para cortar según un delimitador, use la opción
-d
seguida del delimitador que desea usar.
Por ejemplo, para mostrar los campos primero y tercero usando ":" como delimitador, debe escribir:
cut test.txt -d ':' -f 1, 3
245:4540 Admin 01 535:3476 Sales 11
Puede usar cualquier carácter individual como delimitador. En el siguiente ejemplo, estamos usando el carácter de espacio como delimitador e imprimiendo el segundo campo:
echo "Lorem ipsum dolor sit amet" | cut -d ' ' -f 2
Cómo complementar la selección
Para complementar la lista de campos de selección, use la opción de
--complement
. Esto imprimirá solo aquellos campos que no estén seleccionados con la opción
-f
.
El siguiente comando imprimirá todos los campos excepto el primero y el tercero:
cut test.txt -f 1, 3 --complement
4567 Admin 01:10:1980 4987 Sales 11:04:1978
Cómo especificar un delimitador de salida
Para especificar el delimitador de salida, use la opción
--output-delimiter
. Por ejemplo, para establecer el delimitador de salida en
_
usaría:
cut test.txt -f 1, 3 --output-delimiter='_'
Cómo cortar por bytes y caracteres
Antes de continuar, hagamos una distinción entre bytes y caracteres.
Un byte es de 8 bits y puede representar 256 valores diferentes. Cuando se estableció el estándar ASCII, tuvo en cuenta todas las letras, números y símbolos necesarios para trabajar con inglés. La tabla de caracteres ASCII tiene 128 caracteres y cada carácter está representado por un byte. Cuando las computadoras comenzaron a ser mundialmente populares, las compañías tecnológicas comenzaron a introducir nuevas codificaciones de caracteres para diferentes idiomas y para los idiomas que tienen más de 256 caracteres, no era posible un mapeo simple de 1 a 1. Esto lleva a diferentes problemas, como compartir documentos o navegar por sitios web, y se necesitaba un nuevo estándar Unicode que pueda manejar la mayoría de los sistemas de escritura del mundo. UTF-8 fue creado para resolver estos problemas. En UTF-8, no todos los caracteres están representados con 1 byte. Los caracteres se pueden representar con 1 byte a 4 bytes.
En los siguientes ejemplos, estamos usando el carácter
ü
que toma 2 bytes.
Use la opción
-b
(
--bytes
) para cortar una sección de una línea especificando una posición de byte.
Seleccione el quinto byte:
echo 'drüberspringen' | cut -b 5
b
Seleccione los bytes 5, 9 y 13:
echo 'drüberspringen' | cut -b 5, 9, 13
bpg
Seleccione el rango del 1 ° al 5 ° byte:
echo 'drüberspringen' | cut -b 1-5
drüb
Al momento de escribir este artículo, la versión de corte incluida en GNU coreutils no tiene una opción para cortar por caracteres. Cuando se usa la opción
-c
, el corte se comporta igual que cuando se usa la opción
-b
.
Cortar ejemplos
El comando de corte generalmente se usa en combinación con otros comandos a través de tuberías. Aquí están algunos ejemplos.
Obtenga una lista de todos los usuarios
La salida del comando
getent passwd
se pasa al
cut
que imprime el primer archivo usando
:
como delimitador.
getent passwd | cut -d ':' -f1
Ver los 10 comandos más utilizados
En el siguiente ejemplo, cut se usa para quitar los primeros 8 bytes de cada línea de la salida del comando de
history
.
history | cut -c8- | sort | uniq -c | sort -rn | head
Conclusión
A estas alturas ya debe tener una buena comprensión de cómo usar el comando de corte de Linux. Aunque es muy útil, el comando de corte tiene algunas limitaciones. No admite la especificación de más de un carácter como delimitador y no admite varios decímetros.
corte terminalComando Echo en Linux con ejemplos
El comando echo es uno de los comandos más básicos y de uso más frecuente en Linux. Los argumentos pasados a echo se imprimen en la salida estándar.
Comando curl en linux con ejemplos
Curl es una utilidad de línea de comandos para transferir datos desde o hacia un servidor diseñado para funcionar sin interacción del usuario. En este tutorial, le mostraremos cómo usar la herramienta de rizo a través de ejemplos prácticos y explicaciones detalladas de las opciones de rizo más comunes.
Comando de fecha de Linux con ejemplos
El comando de fecha muestra o establece la fecha del sistema. Se usa más comúnmente para imprimir la fecha y la hora en diferentes formatos y calcular fechas futuras y pasadas.