-1
別のawk質問。不要なデータを削除するAwkフラグ
私は私がやりたいものを
43 47
abc
efg
hig
21 122
hijk
lmnop
39 41
somemore
texthere
は、条件が満たされた場合にのみ、テキストを印刷された数値によって分離された大きなテキストファイルを持っています。
ここに文が満たされた場合、私はすべてのテキストを印刷したいと文がない場合、私は、テキストをスキップしたい運
awk '{a=$1; b=$2; if (a < 43 && a > 37 && b < 52 && b > 41) {f=1} elif (a > 43 && a < 37 && b > 52 && b < 41) {print; f=0} } f' file
で、私が試したものです満足。上記
から所望の出力
43 47
abc
efg
hig
39 41
somemore
texthere
Oneを '<43'、次のテスト'>文のテスト 'if' 43 '。 'a == 43'ならば?正確な一致を確認することは決してありません。 – Barmar
新しいツール/言語を使いたいときは、構文と意味を推測してみてください。試行錯誤のために時間を無駄にしないように、何かを読んでください。この場合、Arnold RobbinsのEffective Awk Programming、第4版を読んでください。また、質問をするときに、あなたが望むことをしないコードを投稿したり、誤ったコードを読んで、あなたが何をしたいかを理解できると期待したりしないでください。あなたは、 '条件が満たされた場合にのみテキストを印刷する'ことを望んでいます - どのような条件ですか?あなたの質問を明確にする[edit]。 –
'a> 43 && a <37'は不可能です。どのようにして数字が43よりも高く、同時に37よりも低くなることがありますか?あなたは '||'を意味していたに違いありません。しかし、たぶんそれは 'elif'ではなく' else'でなければならないかもしれません。 – Barmar