Hola amigos. En esta publicación, aprenderá cómo usar el comando de elección en Linux. Hemos probado este tutorial en Debian 11, pero debería funcionar en Ubuntu 20.04 y derivados.
¿Qué es el comando elegir?
El comando de elección es una herramienta creada con Rust que pretende ser una alternativa más robusta y fácil de usar al cut
y awk
comandos.
Gracias a este comando podremos seleccionar palabras o rangos de palabras de una cadena o de un archivo completo. Esto lo hace ideal para scripts y especialmente para programas de terceros que requieren trabajar con cadenas de caracteres.
Como está creado con Rust, podemos instalarlo sin problemas en Linux. Además de esto, es una herramienta liviana y su instalación es sencilla de hacer.
Algunas características del comando de selección son:
- Sintaxis de selección de campo concisa similar a las porciones de lista de Python
- Indización negativa desde el final de la línea
- Índice de inicio/fin opcional
- Indexado a cero
Así que vamos a por ello.
Instalar el comando Elegir
Al ser una herramienta creada con Rust, podremos instalarla usando cargo
. Si ya tiene Rust instalado en el sistema, entonces ya tiene cargo
también.
De lo contrario, puede instalarlo como un paquete separado de Rust. Sobre Debian y Ubuntu, puede abrir una terminal y antes de instalarla, actualice el sistema.
sudo apt update
sudo apt upgrade
Ahora puedes instalar cargo
corriendo
sudo apt install cargo
Con cargo
instalado, podemos instalar elegir. Para hacerlo, simplemente ejecute
cargo install choose
Al final de la instalación, se le pedirá que agregue la ruta de instalación a la RUTA para que pueda usarla en la terminal.
En mi caso, he ejecutado este comando
export PATH=$PATH:/home/angelo/.cargo/bin
Modifícalo a la tuya y ahora, comprueba la versión de Choose.
choose --version
Salida:
choose 1.3.3
Así podremos utilizarlo sin problemas.
Usando el comando elegir
El comando elegir nos permite seleccionar una o varias palabras de una cadena de texto o un archivo según su posición. Además de esto, también funciona con rangos.
Para explicarlo mejor, considere este texto.
Hi, welcome to unixcop. Nice to meet you. So, have a nice day
Si en este texto queremos mostrar la primera palabra y la sexta palabra.
echo 'Hi, welcome to unixcop. Nice to meet you. So, have a nice day' | choose 0 5
Salida:
Hi, to
Recuerda que elegir comienza el conteo en 0. Es decir, 0
es la primera palabra de la cadena.
Para obtener un rango, use :
. Por ejemplo,
echo 'Hi, welcome to unixcop. Nice to meet you. So, have a nice day' | choose 1:6
Salida:
welcome to unixcop. Nice to meet
En este caso, imprimí desde la segunda palabra hasta la séptima.
Similar a Python, la elección toma parte de su sintaxis para definir las últimas palabras de la cadena. Entonces -1
se refiere a la última palabra, -2
hasta la penúltima palabra y así sucesivamente.
Por ejemplo:
echo 'Hi, welcome to unixcop. Nice to meet you. So, have a nice day' | choose 2:-1
En este caso, estamos mostrando desde la tercera palabra hasta el final. El resultado es:
to unixcop. Nice to meet you. So, have a nice day
También puede seleccionar diferentes palabras y rangos
echo 'Hi, welcome to unixcop. Nice to meet you. So, have a nice day' | choose 0 10 4:-3 -1
Entonces, he seleccionado, la primera palabra, la undécima, la quinta hasta la ante penúltima y la última palabra. El resultado es:
Hi, a Nice to meet you. So, have a day
El comando de elección también es útil para manejar .csv
expediente. En este caso, el uso es el mismo pero si está delimitado por ,
tienes que agregar el -f
opción. Por ejemplo,
cat [csv_file] | choose -f ',' 0:2
De esta manera, le dices a elegir que el delimitador es ,
.
Si desea que la salida de la pantalla sea más legible, puede usar -o
opción con la tecla de tabulación.
cat [csv_file] | choose -f ',' -o '0 3
Es así de simple.
Conclusión
En esta publicación, le presentamos una herramienta importante como elegir. Está destinado a ser una alternativa sólida al awk
y cut
comandos pero simplificando todo.