A veces llega una situación en la que no necesitamos leer el archivo completo, solo necesitamos una parte del archivo para mostrar. En esta situación, tratamos de encontrar algunas formas eficientes de obtenerlos sin pasar por todo el contenido del archivo. El comando "AWK" es el.
El comando "AWK" es una utilidad de línea de comandos utilizada en Linux para realizar búsquedas con diferentes patrones y para procesar. Es un comando que permite a un codificador codificar líneas de código pequeñas pero eficientes en forma de declaraciones que inician patrones de texto que se utilizan para realizar búsquedas en cada parte de un documento. Entonces, también es un comando muy utilizado para el procesamiento de texto.
Con la ayuda del comando "AWK", un programador puede recoger datos y piezas de un texto específico basado en el patrón proporcionado al comando. El comando AWK puede escanear y buscar archivos de línea por línea, distribuir y dividir cada línea pasada como entrada en campos, comparar y combinar campos con líneas de entrada, y realizar instrucciones especificadas por el programador en líneas coincidentes. Los comandos AWK se pueden utilizar para la producción de informes en formatos específicos y para cambiar los datos dentro de los archivos.
Sintaxis:
La siguiente es la sintaxis del comando AWK:
Awk 'Action' Your_File_Name.TXT
En este comando, el parámetro "acción" en la sintaxis se usa para definir la acción que nuestro comando será realizado. Después de eso, pasaremos el nombre de nuestro archivo como un parámetro en el que vamos a operar.
Ejemplo no. 1:
En este ejemplo, intentaremos imprimir el enésimo o la última columna del archivo usando el comando AWK. Primero creemos un nuevo archivo que contenga algunos datos relacionados con los empleados. Para crear un archivo nuevo, ejecutaremos el comando a continuación:
linux@linux-virtualbox: ~ $ touch empleado.TXT
Después de ejecutar el comando anterior, creará un nuevo archivo en nuestro directorio de inicio. No es necesario crear un archivo en el directorio de inicio, puede crearlo en cualquier lugar de su sistema. Ahora, verificaremos si el archivo está creado o no. Para eso, simplemente verificaremos el directorio de inicio. Como se muestra en el fragmento a continuación, hemos creado un nuevo archivo llamado empleado.TXT.
Ahora, agregaremos algo de contenido al archivo usando un bloc de notas, como se muestra en el fragmento a continuación. Hemos agregado los datos de cinco empleados que incluyen el nombre, la designación y el salario del empleado. Los datos se muestran a continuación que se almacenan en el archivo "Empleado.TXT".
Salario de designación de nombre
Gerente de Jhone $ 142
Asistente de Rick $ 543
Linda Designer $ 148
Gerente de Alex ProJ $ 342
Ahora, el archivo se crea correctamente con el contenido y obtiene la última columna del archivo usando el comando AWK. Para eso, ejecutaremos el comando mencionado a continuación:
Linux@linux-virtualbox: ~ $ awk 'print $ nf' Empleado.TXT
En el comando anterior, pasamos la declaración de impresión junto con la palabra clave "$ nf", lo que significa que el comando AWK instruirá al compilador que imprima el "$ nf" que indica el campo enésimo del archivo. El último "empleado.txt "es el nombre del archivo cuya última columna se imprimirá. Al presionar la tecla ENTER, ejecutaremos el comando en el que se genera la salida a continuación en el terminal en el que se muestra el salario de los empleados.
salario
$ 142
$ 543
$ 148
$ 342
Ejemplo no. 2:
En este ejemplo, leeremos la última columna del archivo, pero esta vez estamos utilizando otro método que se usa principalmente cuando el usuario conoce el número de columnas. Ahora, primero creemos un nuevo archivo que contenga los datos de cinco estudiantes. Incluye el nombre de los estudiantes, sus clases y las marcas que obtuvieron.
linux@linux-virtualbox: ~ $ nano estudiante.TXT
Cuando ejecutamos el comando anterior, creará un archivo nuevo y lo abrirá automáticamente en un editor de texto. Ahora, agregaremos los datos de los estudiantes en el archivo y presionando "Ctrl + X". Guardaremos el archivo después de agregarle el contenido. En nuestro caso, agregamos datos de cinco estudiantes en él. Al guardar el archivo, avanzaremos hacia nuestro objetivo principal, que es imprimir la última columna del archivo. A continuación se muestra el contenido del archivo "estudiante.TXT".
Marcas de clase de nombre
Jhone Gradec 154
Rick Gradea 124
Linda GradeB 144
Alex Gradea 122
Ahora ejecutaremos el comando AWK para imprimir la última columna del archivo. Supongamos que esta vez conocemos las columnas del archivo y queremos imprimir la última columna de él. Para eso, usaremos el comando AWK junto con el número de columna que se imprimirá en el terminal. Como sabemos, solo hay tres columnas en nuestro archivo que son el nombre de los estudiantes, sus clases y las marcas. Para imprimir la última columna, ejecutaremos el comando a continuación:
linux@linux-virtualbox: ~ $ awk 'imprimir $ 3' estudiante.TXT
En este comando, pasamos "$ 3" junto con el comando de impresión, lo que significa que "AWK" instruirá al compilador que imprima la tercera columna del archivo llamado "Estudiante.TXT". Cuando ejecutemos este comando, imprimirá la siguiente salida en la que se imprimen las marcas de los estudiantes. También podemos comparar la salida con el fragmento de archivo que se muestra arriba. El archivo contiene solo tres columnas y la última columna del archivo contiene las marcas de los estudiantes. Este comando se puede usar para imprimir cualquier columna del archivo; no solo se especifica imprimir la última columna. Al cambiar el signo "$ 3" a "$ 2", podemos imprimir la segunda columna. Después de ejecutar el comando de arriba, se mostraremos la salida a continuación.
Marcas
154
124
144
122
Conclusión
Hemos estudiado un comando "AWK" que se usa ampliamente para presionar directamente el contenido del archivo que es necesario. Luego, implementamos múltiples ejemplos para leer la última columna especificada de los archivos utilizando el comando AWK. Puede implementar más ejemplos para tener una mejor idea de cómo se puede usar el comando AWK.