2つの列と複数の数字からなるファイルがあります。 2番目の列が1.008、1.009、または1.01で始まる行を検索して検索したいのですが、最初と2番目の列を印刷したいです。
私は試した:
grep -Ev '^1.008|^1.009|^1.01'
しかし、うまくいきません。
答え1
テーブルデータからフィールドを検索すると、awk
ゴールデンチケットは次のようになります。
awk '$2 ~ /^1.0(0[89]|1$)/ { print $1,$2 }' /path/to/inputfile
これにより、指定したパターン(「次に開始1.009 or 1.009
または等しい1.01
」)が2番目のフィールドに適用され、一致する場合は最初と2番目のフィールドが出力されます。
答え2
ファイル名exercise.txt
が次のとおりであるとします。
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
それからあなたは:
$ head output.txt
a 1.008
c 1.01
d 1.01
e 1.009