Diferències
Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
linux:bash:awk [10/08/2018 06:02] – [ejemplos] mate | linux:bash:awk [24/02/2020 23:29] (actual) – mate | ||
---|---|---|---|
Línia 1: | Línia 1: | ||
= awk | = awk | ||
+ | /via: [[https:// | ||
+ | * rule = pattern + action | ||
+ | * todo el comando entre comillas simples | ||
+ | * '' | ||
+ | * $1,$3,$7: campo 1, 3 y 7 respectivamente (separados por espacio por defecto) | ||
+ | * $NF: último campo | ||
+ | * $0 : la línea entera | ||
+ | * cambiar carácter separador: **OFS="< | ||
+ | * '' | ||
+ | * **-F'< | ||
+ | * patrones: | ||
+ | * debe preceder inmediatamente a la acción que se ha de ejecutar:< | ||
+ | * los patrones hacen uso de [[https:// | ||
+ | * [[https:// | ||
+ | * si el comando es demasiado complejo, se pueda usar como script:< | ||
+ | |||
+ | BEGIN { | ||
+ | # set the input and output field separators | ||
+ | FS=":" | ||
+ | OFS=":" | ||
+ | # zero the accounts counter | ||
+ | accounts=0 | ||
+ | } | ||
+ | { | ||
+ | # set field 2 to nothing | ||
+ | $2="" | ||
+ | # print the entire line | ||
+ | print $0 | ||
+ | # count another account | ||
+ | accounts++ | ||
+ | } | ||
+ | END { | ||
+ | # print the results | ||
+ | print accounts " accounts.\n" | ||
+ | }</ | ||
+ | * <code bash> | ||
+ | ./omit.awk < | ||
+ | |||
== ejemplos | == ejemplos | ||
- | * buscar | + | * buscar |
* calcular valor mínimo: <code bash>seq 1 10 | awk 'NR==1 { MIN=$1; next } $1 < MIN { MIN=$1 } END{ print MIN }'</ | * calcular valor mínimo: <code bash>seq 1 10 | awk 'NR==1 { MIN=$1; next } $1 < MIN { MIN=$1 } END{ print MIN }'</ | ||
* calcular valor máximo: <code bash>seq 1 10 | awk 'NR==1 { MAX=$1; next } $1 > MAX { MAX=$1 } END{ print MAX }'</ | * calcular valor máximo: <code bash>seq 1 10 | awk 'NR==1 { MAX=$1; next } $1 > MAX { MAX=$1 } END{ print MAX }'</ | ||
Línia 7: | Línia 45: | ||
* excluir las 2 primeras columnas:< | * excluir las 2 primeras columnas:< | ||
* cambiar el separador de columnas:< | * cambiar el separador de columnas:< | ||
- | * líneas que empiezen | + | * líneas que empiecen |