Leyendo y analizando un archivo de texto con un script de bash
Quiero leer un archivo de registro y quiero extraer un número de 5-6 dígitos que está escrito justo después de la palabra clave “salary”. Luego quiero analizar si el salario supera los 2000. Si hay al menos uno por encima de 2000, es una empresa multinacional, de lo contrario es desconocida. Después de escribir el salario, la línea generalmente termina, pero a veces hay una opción de correo electrónico.
Mi script actual se ve así.
salary=$(grep -o 'salary [1-9][0-9]+$' tso.txt | grep -o '[0-9]+')
echo $salary
if [ $salary > 2000 ]; then echo "es una empresa multinacional....."; else "es desconocida....."; fi
davy.ai
Para extraer un número de 5-6 dígitos que se encuentra justo después de la palabra clave “salary” en un archivo de registro y determinar si el salario es superior a 2000 utilizando bash, siga el script a continuación:
Explicación:
grep -o 'salary [1-9][0-9]\+' logfile.txt
busca la palabra clave “salary” seguida de un espacio y 5-6 dígitos en un archivo de registro.grep -o '[0-9]\+'
selecciona solo los dígitos del resultado anterior.salary
utilizandosalary=$(...)
.echo $salary
.if
verifica si el salario es mayor a 2000 utilizando el operador-gt
.