Aprenda a usar variables AWK, expresiones numéricas y operadores de asignación - Parte 8
- 3068
- 636
- Jaime Delgadillo
La serie de comando AWK se está volviendo emocionante, creo, en las siete partes anteriores, caminamos a través de algunos fundamentos de Asombrar que necesita dominar para habilitar que realice un texto básico o filtrado de cadenas en Linux.
Comenzando con esta parte, nos sumergiremos en áreas anticipadas de Asombrar para manejar operaciones de filtrado de texto o texto más complejas. Por lo tanto, vamos a cubrir Asombrar Características tales como variables, expresiones numéricas y operadores de asignación.
Aprender variables AWK, expresiones numéricas y operadores de asignaciónEstos conceptos no son completamente distintos de los que probablemente haya encontrado en muchos lenguajes de programación antes de que tales shell, c, python, además de muchos otros, por lo que no hay necesidad de preocuparse mucho por este tema, simplemente estamos revisando las ideas comunes de usar estas características mencionadas.
Este probablemente será uno de los más fáciles Asombrar Secciones de orden para comprender, así que siéntese y vamos a ponernos en marcha.
1. Variables AWK
En cualquier lenguaje de programación, una variable es un titular de lugar que almacena un valor, cuando crea una variable en un archivo de programa, como se ejecuta el archivo, se crea algún espacio en la memoria que almacenará el valor que especifica para la variable.
Puedes definir Asombrar Variables de la misma manera que defina las variables de la carcasa de la siguiente manera:
variable_name = valor
En la sintaxis anterior:
nombre de la variable
: es el nombre que le das una variablevalor
: el valor almacenado en la variable
Veamos algunos ejemplos a continuación:
Computer_name = ”Tecmint.com "port_no =" 22 "correo electrónico =" [correo electrónico protegido] "servidor =" computer_name "
Eche un vistazo a los ejemplos simples anteriores, en la primera definición variable, el valor tecmenta.comunicarse
se asigna a la variable nombre de la computadora
.
Además, el valor 22
se asigna a la variable Port_no
, También es posible asignar el valor de una variable a otra variable como en el último ejemplo en el que asignamos el valor de nombre de la computadora
al servidor variable.
Si puede recordar, desde la parte 2 de esta serie AWK donde cubrimos la edición de campo, hablamos sobre cómo AWK divide las líneas de entrada en los campos y utiliza el operador de acceso de campo estándar, ps
para leer los diferentes campos que se han analizado. También podemos usar variables para almacenar los valores de los campos de la siguiente manera.
First_Name = $ 2 Second_Name = $ 3
En los ejemplos anteriores, el valor de nombre de pila
está configurado en segundo campo y segundo nombre
está configurado en el tercer campo.
Como ilustración, considere un archivo llamado nombres.TXT
que contiene una lista de los usuarios de una aplicación que indican su primer y apellidos más género. Usando el comando CAT, podemos ver el contenido del archivo de la siguiente manera:
$ nombres de gatos.TXTLista del contenido del archivo usando el comando CAT
Entonces, también podemos usar las variables nombre de pila
y segundo nombre
para almacenar el primer y segundo nombres del primer usuario en la lista como ejecutando el Asombrar Comando a continuación:
$ awk '/aaron/first_name = $ 2; segundo_name = $ 3; Imprima First_Name, Second_Name; 'Nombres.TXTAlmacenar variables usando el comando AWK
Permítanos también echar un vistazo a otro caso, cuando emita el comando desacuerdo -a
En su terminal, imprime toda la información de su sistema.
El segundo campo contiene tu nombre de host
, Por lo tanto, podemos almacenar el nombre de host En una variable llamada nombre de host
e imprímalo usando Asombrar como sigue:
$ uname -a $ uname -a | awk 'hostname = $ 2; Imprimir nombre de host; 'Almacena la salida del comando a la variable usando AWK
2. Expresiones numéricas
En Asombrar, Las expresiones numéricas se construyen utilizando los siguientes operadores numéricos:
*
: operador de multiplicación+
: Operador de adición/
: operador de división-
: operador de sustracciónDe %
: operador de módulo^
: Operador de exponencia
La sintaxis para una expresión numérica es:
$ operand1 operador operand2
En la forma anterior, operando1
y operando2
pueden ser números o nombres de variables, y operador
es alguno de los operadores anteriores.
A continuación se presentan algunos ejemplos para demostrar cómo construir expresiones numéricas:
contador = 0 num1 = 5 num2 = 10 num3 = num2-num1 contador = contador+1
Para comprender el uso de expresiones numéricas en Asombrar, Consideraremos el siguiente ejemplo a continuación, con el archivo dominio.TXT
que contiene todos los dominios propiedad de Tecmenta.
noticias.tecmenta.com tecmint.com linuxsay.com Windows.tecmenta.com tecmint.comotrices.tecmenta.com tecmint.com linuxsay.com tecmint.comotrices.tecmenta.com tecmint.com linuxsay.com Windows.tecmenta.com tecmint.comunicarse
Para ver el contenido del archivo, use el comando a continuación:
$ Cat Dominios.TXTVer contenido del archivo
Si queremos contar el número de veces el dominio tecmenta.comunicarse
Aparece en el archivo, podemos escribir un script simple para hacerlo de la siguiente manera:
#!/bin/bash para archivo en [correo electrónico protegido]; hacer si [-f $ archivo]; Entonces #Print Out FileName Echo "El archivo es: $ Archivo" #Print a un número de forma incremental para cada línea que contiene TECMINT.com awk '/^Tecmint.com/ contador = contador+1; printf "%s \ n", contador; '$ archivo más #as #print en caso."> & 2 && Salida 1 Fi HECHO #Terminar el script con el código de salida 0 en el caso de la ejecución exitosa de ejecución 0Script shell para contar una cadena o texto en el archivo
Después de crear el script, guárdelo y hágalo ejecutable, cuando lo ejecutamos con el archivo, dominio.TXT
Como entrada, obtenemos la siguiente salida:
ps ./guion.sh ~/dominios.TXTScript para contar cadena o texto
Desde la salida del script, hay 6 líneas en el archivo dominio.TXT
que contienen tecmenta.comunicarse
, Para confirmar que puede contarlos manualmente.
3. Operadores de Asignación
El último Asombrar La característica que cubriremos son los operadores de asignación, hay varios operadores de asignación en AWK y estos incluyen lo siguiente:
*=
: Operador de asignación de multiplicación+=
: Operador de asignación de adición/=
: Operador de asignación de división-=
: operador de asignación de sustracción%=
: Operador de asignación de módulo^=
: Operador de asignación de exponencia
La sintaxis más simple de una operación de asignación en Asombrar es como sigue:
$ variable_name = variable_name operador de operador
Ejemplos:
contador = 0 contador = contador+1 num = 20 num = num-1
Puede usar los operadores de asignación anteriores para acortar las operaciones de asignación en Asombrar, Considere los ejemplos anteriores, podríamos realizar la tarea en la siguiente forma:
Variable_Name Operator = operando
contador = 0 contador+= 1 num = 20 num- = 1
Por lo tanto, podemos alterar el Asombrar comando en el script de shell que acabamos de escribir arriba usando +=
Operador de asignación de la siguiente manera:
#!/bin/bash para archivo en [correo electrónico protegido]; hacer si [-f $ archivo]; Entonces #Print Out FileName Echo "El archivo es: $ Archivo" #Print a un número de forma incremental para cada línea que contiene TECMINT.com awk '/^Tecmint.com/ contador+= 1; printf "%s \ n", contador; '$ archivo más #as #print en caso."> & 2 && Salida 1 Fi HECHO #Terminar el script con el código de salida 0 en el caso de la ejecución exitosa de ejecución 0Alterar script script
En este segmento de la serie AWK, cubrimos algunos poderosos Asombrar Características, es decir, variables, construir expresiones numéricas y usar operadores de tareas, además de algunas pocas ilustraciones de cómo podemos usarlas realmente.
Estos conceptos no son diferentes de los de otros lenguajes de programación, pero puede haber algunas distinciones significativas bajo programación AWK.
En Parte 9, miraremos más Asombrar Características que son patrones especiales: COMENZAR
y FIN
. Hasta entonces, mantente conectado a Tecmenta.
- « 8 mejores grabadoras de pantalla para grabación de pantalla de escritorio en Linux
- 15 consejos y trucos de comando 'sed' útiles para tareas diarias de administración del sistema Linux »