WHEREとGROUPの間のSQLコードですべての行を取得しようとしています。私は同じの複数の出現があります後awk複数の出現を含む1つのファイル内の2つの単語間のすべての行
awk '/WHERE/{p=1} p; /GROUP/{exit}' filename.txt
出力
WHERE something Some SQL code GROUP BY something
で始まりWHEREで終わるコードの複数のセクションがあります。私が出力したいファイルにGROUP BYを付ける
誰かが助けることができますか? sed
と同様に動作,
awk '/WHERE/{f=1} f; /GROUP/{f=0}' file
awk
範囲演算子:
'GROUP'条件を過ぎたところで' p'を '0'にリセットしてみてください。 – shellter
私は不思議です - あなたのポーズされたコードはどういう意味ですか?それが何を意味するのか分かっているなら、あなたが望むことをするために変わることはまったく自明です。 –
[awk範囲とテキストの選択]の可能な複製(https://stackoverflow.com/questions/43982874/awk-range-and-selection-of-text) – dawg