Com utilitzar l'ordre awk a Bash

Com Utilitzar L Ordre Awk A Bash



Quan es treballa a l'entorn de la línia d'ordres, és essencial tenir una bona comprensió de les diverses ordres disponibles per gestionar de manera eficaç fitxers, directoris i altres dades. Una d'aquestes ordres és l'ordre 'awk'. awk és una potent utilitat que s'utilitza per processar i manipular fitxers de text a l'entorn Unix/Linux. En aquest article s'explicarà què és l'ordre 'awk' i maneres d'utilitzar-la de manera eficaç.

Què és l'ordre 'awk'?

L'ordre 'awk' és una eina potent per manipular i processar fitxers de text en entorns Unix/Linux. Es pot utilitzar per realitzar tasques com ara la concordança de patrons, el filtratge, l'ordenació i la manipulació de dades. awk s'utilitza principalment per processar i manipular dades d'una manera estructurada.







Com utilitzar l'ordre awk

awk és una eina de línia d'ordres que es pot utilitzar de diverses maneres. Es pot invocar directament des de la línia d'ordres o es pot utilitzar juntament amb un script d'intèrpret d'ordres. Aquests són alguns exemples de com utilitzar awk:



Exemple 1: comptar el nombre de línies d'un fitxer

Per comptar el nombre de línies d'un fitxer, podeu utilitzar la sintaxi awk següent:



awk 'FIN{imprimir NR}' < nom-fitxer.txt >


Aquí, 'NR' és una variable integrada que conté el nombre de registres (línies) processats per awk. La paraula clau 'FIN' diu a awk que executi aquesta ordre després que s'hagin processat totes les línies del fitxer. Aquí he creat un fitxer de text amb finalitats d'il·lustració i després he fet servir la sintaxi anterior en un script de shell que és:





#!/bin/bash
awk 'FIN{imprimir NR}' fitxer de prova.txt


El fitxer de text que vaig crear té dues línies i quan s'utilitza l'ordre awk la sortida que es mostra 2, podeu veure el fitxer de text que vaig crear a la imatge següent:



Exemple 2: filtració de dades

L'awk es pot utilitzar per filtrar dades en funció de criteris específics i aquí teniu la sintaxi que cal utilitzar per a aquest propòsit:

awk '!//' < nom-fitxer.txt >


Per exemple, podeu utilitzar l'ordre següent per filtrar totes les línies d'un fitxer que contingui la paraula 'Hola'.

#!bin/bash
awk '!/Hola/' fitxer de prova.txt


En aquest exemple, el '!' El símbol nega la cerca d'expressions regulars, de manera que s'imprimiran totes les línies que no continguin la paraula 'Hola'. He utilitzat el mateix fitxer de text que a l'exemple anterior, així que aquí teniu la sortida de l'script anterior:

Exemple 3: Extracció de camps específics

awk també es pot utilitzar per extreure camps específics d'un fitxer. Per exemple, si teniu un fitxer que conté una llista de noms i adreces i voleu extreure només els noms, podeu utilitzar l'ordre següent:

awk '{print $}' < nom-fitxer.txt >


Aquí per il·lustració, he imprès el primer camp del mateix fitxer de text i '$1' representa el primer camp de cada línia del fitxer. L'ordre 'imprimir' diu a awk que imprimeixi només aquest camp.

#!/bin/bash
awk '{print $1}' fitxer de prova.txt


Al fitxer de text, la primera entrada de la primera línia és 'Això' i la primera entrada de la segona línia és 'Hola', així que aquí teniu la sortida del codi donat:

Conclusió

L'ordre awk és una eina potent que s'utilitza per manipular i processar fitxers de text. Us permet realitzar diverses operacions sobre fitxers de text, com ara imprimir columnes específiques, cercar patrons i calcular sumes. En dominar els conceptes bàsics d'awk, podeu racionalitzar el vostre flux de treball i convertir-vos en un usuari de Linux o Unix més eficient i eficaç.