処置:xからyまでのz列の数字を含む行を返します。
たとえば、列2から140から160の範囲の数字を持つ行を選択します。
1 1 some data 150
2 150 some data 1
3 151 some data 151
4 1000 some data 150
以下を返す必要があります。
2 150 some data 1
3 151 some data 151
grep、awk、または sed を使用できます。 Unixの新機能。ありがとうございます!
答え1
awk
あなたはこれを行うことができます
awk '$2 > 140 && $2 < 160' input_file
$2
2番目のフィールド()を目的の範囲と比較し、両方の条件が満たされている場合にのみ行を印刷します。
-v
最小値と最大値が変数に保存されている場合は、次のように渡すことができますawk
。
min=140
max=160
awk -v lower="$min" -v upper="$max" '$2 > lower && $2 < upper' input_file
答え2
grep -E -e "^[0-9]+ 1[45][0-9]" -e "^[0-9]+ 160"