• 締切済み

パラメータの1つを複数行で表記する方法はありますか?

grep で正規表現を使って、検索をしようとしています。 (例) grep -E -n '(AKABANE)|(IKEBUKURO)|(TOKYO)|(YOKOHAMA)' *.c 上記のような例でヒットする文字列を増やそうとしているのですが、 1行が長くなってしまいます。複数のパラメータであれば grep -E -n '(AKABANE)|(IKEBUKURO)|(TOKYO)|(YOKOHAMA)' \ *.c のようにして複数行で書くことができますが、パラメータの1つが 異常に長くなってしまう場合、これを複数行に分けることは 可能でしょうか?

みんなの回答

  • Xiangji
  • ベストアンサー率100% (4/4)
回答No.3

行頭のスペースが消えてしまったのと、参照ファイル名がおかしかったので・・・ /usr/xpg4/bin/grep -n -E -e '(AKABANE)|'\ '(IKEBUKURO)|'\ '(TOKYO)|'\ '(YOKOHAMA)' \ *.c

  • Xiangji
  • ベストアンサー率100% (4/4)
回答No.2

こんな感じでうまくいくと思います。 /usr/xpg4/bin/grep -n -E -e '(AKABANE)|'\ '(IKEBUKURO)|'\ '(TOKYO)|'\ '(YOKOHAMA)'\ bbb

回答No.1

バックスラッシュをいれて改行しても駄目みたいですね。 パターンをシェル変数ですこしずつ指定する方法は駄目ですか? set pattern = "(AKABANE)" set pattern = "${pattern}|(IKEBUKURO)" set pattern = "${pattern}|(TOKYO)" set pattern = "${pattern}|(YOKOHAMA)" grep -E "${pattern}" *.c

関連するQ&A