さまざまなデータの行が多数あるファイルがあります。各行の各データを読み取り、それらのどれがベンチマークに対応するかを判断したいと考えています。すなわち
-0.002345
-0.109873
0.0
-2.04555
-0.00001
0.34444
0.89999
ベンチマークは (+ または -) 0.00001 です。
さまざまなデータの行が多数あるファイルがあります。各行の各データを読み取り、それらのどれがベンチマークに対応するかを判断したいと考えています。すなわち
-0.002345
-0.109873
0.0
-2.04555
-0.00001
0.34444
0.89999
ベンチマークは (+ または -) 0.00001 です。
ファイルが次のような行で構成されていると仮定します。
-0.002345 -0.109873 0.0 -2.04555 -0.00001 0.34444 0.89999
そして、まったく同じであるすべての行を見つけたいinputfile
場合は、たとえばを使用できますawk
。非常に迅速で汚い解決策は、次のようになります。
awk '{if($1=="-0.002345" && $2=="-0.109873" && $3=="0.0" && $4=="-2.04555" && $5=="-0.00001" && $6==" 0.34444" && $7=="0.89999"){ print $0 } }' inputfile > outputfile
使用できますgrep
。各ファイルの最初の行のみが必要な場合は、次の-m
オプションを指定できます。
grep -m1 '^[- ]0.00001' files