Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
awk [2023/04/12 14:53] – [Estructura de Programa de awk] peronawk [2024/03/10 18:06] (actual) peron
Línea 7: Línea 7:
 Una segunda categoría es su uso como **transformador de datos**, convirtiendo datos de la forma producida por un programa en la esperada por otro distinto. Los ejemplos más simples consisten en simplemente seleccionar campos, y tal vez reorganizarlos. Una segunda categoría es su uso como **transformador de datos**, convirtiendo datos de la forma producida por un programa en la esperada por otro distinto. Los ejemplos más simples consisten en simplemente seleccionar campos, y tal vez reorganizarlos.
  
->awk resulta invaluable para el el procesado textual y numérico combinado.+>awk resulta invaluable para el el procesado textual y numérico combinado. Fue creado por Aho, Weinberger y Kerningham en los [[Laboratorios Bell]], de allí su nombre.
  
 +====Uso básico====
 +
 +La operación básica de awk es analizar un conjunto de líneas de **entrada** en orden buscando por //coincidencias// que se han especificado. Para cada patrón, puede especificarse una acción; esta acción será llevada a cabo en cada línea que muestre coincidencias, y se le dará **salida** (mostrándolo en la terminal o redirigiéndola).
 +
 +El comando 
 +<code awk>awk programa [ficheros]</code>
 +ejecuta los comandos de awk de la cadena ''programa'' sobre el conjunto de ''ficheros'' especificados, o bien utilizará la entrada estándar si no se hubiesen espeficado fichero alguno para analizar. La declaración también puede volcarse a un ''fichero_salida'' con el prefijo ''-f'':
 +
 +<code awk>awk -f fichero_salida [ficheros]</code>
  
 ====Estructura de Programa de awk==== ====Estructura de Programa de awk====
Línea 44: Línea 53:
  
 La variable ''FILENAME'' se utiliza para contener el nombre del fichero de entrada actual. La variable ''FILENAME'' se utiliza para contener el nombre del fichero de entrada actual.
-====Uso básico==== 
- 
-La operación básica de awk es analizar un conjunto de líneas de **entrada** en orden buscando por //coincidencias// que se han especificado. Para cada patrón, puede especificarse una acción; esta acción será llevada a cabo en cada línea que muestre coincidencias, y se le dará **salida** (mostrándolo en la terminal o redirigiéndola). 
  
-El comando  
-<code awk>awk programa [ficheros]</code> 
-ejecuta los comandos de awk de la cadena ''programa'' sobre el conjunto de ''ficheros'' especificados, o bien utilizará la entrada estándar si no se hubiesen espeficado fichero alguno para analizar. La declaración también puede volcarse a un ''fichero_salida'' con el prefijo ''-f'': 
- 
-<code awk>awk -f fichero_salida [ficheros]</code> 
  
 =====Patrones===== =====Patrones=====
Línea 166: Línea 167:
  
 ====Expresiones Relacionales de awk ==== ====Expresiones Relacionales de awk ====
-Los patrones de awk pueden ser expresiones relacionales que incluyan los operadores relacionales convencionales ''<'', ''<='', ''=='', ''!='', ''>='', y ''>''. Un ejemplo es ''$2 > $1 + 100'' que seleccionará las líneas donde el segundo campo es al menos un ''100'' mayor que el primer campo. De forma similar,+Los patrones de awk pueden ser expresiones relacionales que incluyan los [[operadores en unix#operadores relacionales|operadores relacionales convencionales]] ''<'', ''<='', ''=='', ''!='', ''>='', y ''>''. Un ejemplo es ''$2 > $1 + 100'' que seleccionará las líneas donde el segundo campo es al menos un ''100'' mayor que el primer campo. De forma similar,
  
 <code awk>NF % 2 == 0</code> <code awk>NF % 2 == 0</code>
Línea 184: Línea 185:
  
 ====Patrones Combinacionales==== ====Patrones Combinacionales====
-Un patrón puede ser cualquier patrones combinacinoal booleanos OR ''||'', AND ''&&'', y NOT ''!''+Un patrón puede ser cualquier operador [[operadores en unix#operadores lógicos|combinacinoal de lógica booleana]] OR ''||'', AND ''&&'', y NOT ''!''
  
 Por ejemplo, este programa de awk selecciona las líneas donde un primer campo comienza con ''p'', pero no sea ''perez''. El ''&&'' y el ''||'' garantizan que sus operandos sean evaluados de izquierda a derecha; la evaluación se detendrá tan pronto como se verifique verdad o falsedad. Por ejemplo, este programa de awk selecciona las líneas donde un primer campo comienza con ''p'', pero no sea ''perez''. El ''&&'' y el ''||'' garantizan que sus operandos sean evaluados de izquierda a derecha; la evaluación se detendrá tan pronto como se verifique verdad o falsedad.
  • awk.1681311236.txt.gz
  • Última modificación: 2023/04/12 14:53
  • por peron