하이픈을 고려하여 단어를 찾으려면 어떻게 해야 합니까?

하이픈을 고려하여 단어를 찾으려면 어떻게 해야 합니까?

색인을 만들기 위해 여러 파일 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")"

관련 정보