これはあまりにも素朴ではない質問です。セミコロンで区切られた一連のファイルがあり、そのうちのいくつかは数字です。例は次のようになります。awkを使用して小数点範囲を検索する
A;B;4.564;C;D;E;5.698;F;G;H;7.893
などです。
ファイルの中で、数字は多少異なる場合があります。たとえば、上記の例の5.698は他のファイルの5.691または5.703などです。ですから、私は5.685から5.710までの検索範囲を設定しました。コードはawk one-linerが実際にこの検索を実行するまでうまくいくが、私はそこに残っている。ここではawkのコードは次のとおりです。
awk -v low=$NUM3 -v high=$NUM2 '{if ($0 >= low && $0 <= high) {print "1"} else {print "0"} }'
私は検索範囲を表現するためのawkにbashの変数をインポートした後、低値と高い値の間の数値がある場合、単純な検索を設定しています。私はまた、他のバリエーションを試してみました:
awk -v low=$NUM3 -v high=$NUM2 'low<=$0 && $0<=high'
任意の助けをいただければ幸い、私は以前の質問を検索するが、この特定の問題に遭遇しませんでした。私はawkの専門家ではないので、事前に感謝します。
あなたの入力例からどのような出力が期待されますか?その範囲の数字をすべて印刷したいのですか? – alexbclay
それはいいかもしれません(私のコーディングの専門知識の外に!)、しかし必要ではありません。私は存在/不在フラグを生成しようとしていたので、 "1"または "0"なので、特定の範囲を持つファイルを追跡できます。ありがとう! – CJF