awk y tres
AWK: LAS VARIABLES
Hay varias formas de trabajar con variables pero aqui veremos la mas comun. Es necesario saber que hay ciertas variable ya definidas en awk y que podremos accesar a ellas en cualquier momento, estas variable son:
FS (field separator) <-- contiene el caracter que le indica a awk en que punto del registro acaba y empieza el siguiente, que por omision es un espacio.
NF (number of fields) <-- contiene el numero total de campos que contiene el registro que se esta leyendo.
RS (Record separator) <-- contiene el caracter que indica a awk en que punto del archivo acaba un registro y empieza el otro. Por omision es "\n"
NR (Number of Record) <-- contiene el numero de orden del registro que se esta procesando en cada momento.
ok bien ahora ya estamos listos para hacer algo mas entretenido, supongamos que tenemos un archivo del que nos interesa sacar las ultimas dos palabras de cada linea (o registro) pero el numero de campos por linea varia, pongamos un ejemplo con el siguient
e archivo. password.txt
donde tiene por cada linea los siguentes datos.
1 Benito Juarez Garcia beno 3kjk23k2j3kd
2 Hugo Roberto Sanchez Marquez pumas jh8234kjk76
3 Romario De Souza Faria brasil fsdfjl434jhjdsh
4 Vicente Fox Quezada presidencia kj534kjjnsd
5 Carlos Tranza Ahumada video_escandalo kjhsdf8845njn
ahora bien con este archivo suponemos lo siguiente: el primer campo pertenece a la clave de usuario, la siguiente corresponde al nombre (notemos que algunos nombres tienen 3 campos otros 4) el username y una contraseña son lo siguientes dos campos, ahora supongamos que necesito una lista donde solo me muestre la clave, el username y la contraseña de cada usuario.
ahora bien para el sacar la clave es facil podemos usar el siguiente comando
de awk:
#cat password.txt | awk ‘1{print $1}’
y listo ya tenemos la clave pero el username y el password resulta mas complicado que esto ya que en unas ocaciones sera el campo 5 y 6 y en otras el 6 y 7 pero algo que siempre podemos ver es que el password es el ultimo campo para lo que podremos usar la variable del total de campos en el registro que es NF ejemplo:
#cat password.txt | awk ‘1{print $1, NF}’
ahora bien habran notado que lo que nos mando fue el numero total de campos para lo cual hay que agregarle el $ para que quede asi:
#cat password.txt | awk ‘1{print $1, $NF}’
listo ya tenemos la clave y la contrase\xf1a pero aun falta el username asi que tendremos que usar un poco de imaginacion, el campo que buscamor es el penultimo es decir NF – 1 asi que podenemos esto en el comando para que quede asi:
#cat password.txt | awk ‘1{print $1, $(NF – 1), $NF}’
y listo señores esto es todo con esto tambien vimos un nada de operadores asi queespero que les haya servido, mas adelante seguire con otro comando chidin para complementar awk.
somera was here









Vaya que me quede ….estudiando esta parte gracias.