ID RT      EZ    Z0      Z1      Z2    RHO     PHE 

 1889  UN    NA  1.0000  0.0000  0.0000  0.8765  -1  
 1890  UN    NA  1.0000  0.0000  0.0000  0.4567  -1  
 1891  UN    NA  1.0000  0.0000  0.0000  0.0012  -1  
 1892  UN    NA  1.0000  0.0000  0.0000  0.1011  -1  

I would like to grep all the IDs that have column 'RHO' with value less than 0.2, and the other columns are included for the selected rows.

有帮助吗?

解决方案

Use awk directly by saying awk '$field < value':

$ awk '$7<0.2' file
 1891  UN    NA  1.0000  0.0000  0.0000  0.0012  -1  
 1892  UN    NA  1.0000  0.0000  0.0000  0.1011  -1  

As RHO is the column 7, it checks that field.

In case you just want to print a specific column, say awk '$field < value {print $another_field}'. For the ID:

$ awk '$7<0.2 {print $1}' file
1891
1892
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top