ファイルを取得するための一致2つのファイルは、( - 4,6 - 1の間の数字9):例えば数値の範囲外と範囲内の範囲の
BlackList_B_Number.dat
1 4
6 9
これは入力ファイルです。例えば:
OCS_VOICECALLS_1111_11_111111
111111111 1 201605240042070000000236OCS4252 3.6344
111111111 2 201605240114430000000123OCS1154 03.0537
111111111 3 201605240246070000000009OCS0707 018.6965
111111111 4 201605240530500000000213OCS0130 01.8881
111111111 5 201605240601120000000015OCS0156 015.8059
111111111 6 201605240649100000000052OCS0269 02.3725
入力ファイルをブラックリストに関連した入力ファイルから$ 2フィルタに興味イム。
出力1(フィルタのうち入力レコード):
111111111 5 201605240601120000000015OCS0156 015.8059
出力2(フィルタ内の入力レコード):I'dは、これらの両方の出力を取得したいと
111111111 1 201605240042070000000236OCS4252 3.6344
111111111 2 201605240114430000000123OCS1154 03.0537
111111111 3 201605240246070000000009OCS0707 018.6965
111111111 4 201605240530500000000213OCS0130 01.8881
111111111 6 201605240649100000000052OCS0269 02.3725
を私は多くのオプションをtriyingましたしかし、私はこれらのオプションのいずれかを得て、両方の出力ではなく、そのうちの1つだけを取得します:
awk '
FNR==NR{low[NR]=$1+0;hi[NR]=$2+0;next}
{for(i in low)if($2>=low[i]&&$2<=hi[i]){print $0}}
' BlackList_B_Number.dat OCS_VOICECALLS_1111_11_111111
111111111 1 201605240042070000000236OCS4252 3.6344 1.5570 2.0773 0 000000 0 0JAVIE
111111111 2 201605240114430000000123OCS1154 03.0537 1.8992 1.1545 0 000000 0 0PPIB7
111111111 3 201605240246070000000009OCS0707 018.6965 18.4730 0.2235 0 000000 0 0PPXS8
111111111 4 201605240530500000000213OCS0130 01.8881 0.0000 1.8881 0 000000 0 0PPIB5
111111111 6 201605240649100000000052OCS0269 02.3725 1.7978 0.5746 0 000000 0 0PPIB7
どのように私はoth同時に?? 1つのER:事前に
111111111 5 201605240601120000000015OCS0156 015.8059
感謝!
。すべての空白が圧縮され、改行が消えます。 –
別の質問...あなたはawk -f program.awkとして実行するために、以前のスクリプトを "program.awk"に変更したり、どのように変更しますか? ありがとうございます。 – alvaronistal