Cómo grep varias cadenas que comienzan con cierto valor

Cómo grep varias cadenas que comienzan con cierto valor

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, awksu 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.009o es igual a 1.01") al segundo campo y, para coincidencias, generará el primer y segundo campo.

Respuesta2

Supongamos que su archivo llamado exercise.txtes 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  

información relacionada