Tengo un archivo que consta de dos columnas con un montón de números y me gustaría buscar y encontrar líneas en las que la segunda columna comience con 1.008, 1.009 o 1.01, pero me gustaría imprimir ambas, la primera y la segunda columna.
Lo intenté:
grep -Ev '^1.008|^1.009|^1.01'
pero no funciona.
Respuesta1
Al buscar un campo en datos tabulados, awk
su boleto dorado es:
awk '$2 ~ /^1.0(0[89]|1$)/ { print $1,$2 }' /path/to/inputfile
Esto aplicará el patrón que especifique ("comienza con 1.009 or 1.009
o es igual a 1.01
") al segundo campo y, para coincidencias, generará el primer y segundo campo.
Respuesta2
Supongamos que su archivo llamado exercise.txt
es así:
a 1.008
b 1.00005
c 1.01
d 1.01
e 1.009
awk '( $2 >= 1.008 && $2 < 1.02 ) { print $1,$2 }' exercise.txt > output.txt
Entonces tiene:
$ head output.txt
a 1.008
c 1.01
d 1.01
e 1.009