ハイフンを考慮して単語を見つけるにはどうすればよいですか?

ハイフンを考慮して単語を見つけるにはどうすればよいですか?

インデックスを作成するために、いくつかのファイルlatexからいくつかの単語を検索しています。このプロセスは、単語を分離できる場所を示すlatex任意のハイフンコマンドによって複雑になります。これを私の検索に含めたいのですが、これまで成功していませんでした。たとえば、すべて一致する式が必要です。\-latex

  • pādapracāra
  • pāda\-pracāra
  • pā\-da\-pra\-cā\-ra

または、同じ単語のハイフンで接続された別のインスタンスです。

ラテックスコマンドの先頭でバックスラッシュを一致させるには、$ grep \\\\mycommand* tex`のように4つのバックスラッシュを入力する必要があることを知っています。

私はvimこのような式を検索できるので、/pā\(\\-\)*da\(\\-\)*pra\(\\-\)*cāragrepで似ていると思いましたgrep pā\(\\\\-\)\?da *tex(などですが、これはすでに何も一致しません)。

答え1

私は「grep」にハイフンを無視するように指示できないと思います。

まず「sed」でフィルタリングするのはどうですか?

echo 'pa\\-da\\-pra\\-ca\\-bra' | sed -e s'/\\-//g'

パターンマッチングには他の式を使用できます(ユーザーが提案したように)。カス):

echo 'pa\\-da\\-pra\\-ca\\-bra' | sed -n -e s'/\\-//g' -e '/pada/p'

答え2

$ grep -Ei 'pā(\\-)?da(\\-)?pra(\\-)?cā(\\-)?ra' *tex私が必要なことをしてください。

答え3

Bashを介してLaTeXドキュメントを編集するのは正しい方法ではありませんが、必要に応じてここで行います。

grep -Ee "$(echo "padapracara" | sed "s/\B/(\\\\\\\\-)?/g")"

関連情報