根据特定列中的常见数字保留所有行

根据特定列中的常见数字保留所有行

我有一个包含 15 列的文件,我想过滤列号中具有相同值的行:1,3,5,8,11,14。基本上,质量列和 Artificial_mass 需要具有相同的共同值。例如,从这样的表中。

Input

mass    Ret_time_min    mass    Ret_time_min    mass    Ret_time_min    mass    artifical_mass  Ret_time_min    mass    artifical_mass  Ret_time_min    mass    artifical_mass  Ret_time_min
229 1.516   229 1.503   229 1.516   231 229 1.468   231 229 1.499   231 229 1.63
229 1.573   229 1.597   229 1.585   231 229 1.576   231 229 1.59    233 231 12.89
229 1.905   229 2.004   229 2.186   232 230 11.919  235 233 12.91   235 233 12.929
229 2.303   229 2.139   229 2.242   238 236 0.689   238 236 0.684   238 236 0.689
229 2.59    229 2.291   229 2.365   238 236 0.803   238 236 0.796   238 236 0.788
229 2.737   229 2.484   229 5.41    239 237 0.68    239 237 0.69    239 237 0.691
229 5.398   229 2.589   229 5.593   239 237 6.961   239 237 6.959   239 237 6.966
242 5.163   242 4.612   242 5.141   244 242 12.126  244 242 6.182   244 242 12.503
242 5.194   242 5.123   242 5.475   244 242 12.503  244 242 11.847  245 243 0.065

Output

mass    Ret_time_min    mass    Ret_time_min    mass    Ret_time_min    mass    artifical_mass  Ret_time_min    mass    artifical_mass  Ret_time_min    mass    artifical_mass  Ret_time_min
229 1.516   229 1.503   229 1.516   231 229 1.468   231 229 1.499   231 229 1.63
242 5.163   242 4.612   242 5.141   244 242 12.126  244 242 6.182   244 242 12.503

我尝试用一​​条简单的线:cat My.File.txt | awk '$1==$3 || $5==$1 && $8==$1 && $10==$1 && $14==$1'但似乎不起作用

答案1

尝试这个,

awk 'NR==1 || ( $1==$3 && $1==$5 && $1==$8 && $1==$11 && $1==$14 )' file

相关内容