Извлечение и разделение слов из текста и перечисление их в порядке появления, используя только регулярное выражение оболочки терминала - PullRequest
1 голос
/ 25 октября 2019

У меня есть текст ниже (в этом формате), и я хочу, чтобы слова были разделены и помещены одно за другим в порядке их появления в вертикальном списке, как в этом примере https://stackoverflow.com/a/21672824/10824251. Я пытаюсь egrep -vi "'?[^\\p{L}']+'?|^'|'$" mytext.txt > output.txtно я не получил никакого результата, только что output.txt не имел (пустого) содержания.

Мой текст:

Педагогическая психология - это часть психологии образования, которая относится к школьному образованию. Как будет видно позже, оба имеют одну и ту же цель: изучать, объяснять и понимать процессы изменения поведения, которые вырабатываются у людей в результате их участия в образовательных мероприятиях. Что придает сущности, соответствующей преподаванию психологии, характер и особенностиобразовательной деятельности, которая существует в основе изученного изменения поведения.

Мой текст на португальском языке:

Психология до энциклопедии и психологии образования. Que se Rerere à Educationacão Escolar. Como se verá mais adiante, ambas tem um mesmo objetivo: эстонский, экспликационный и образовательный процесс, посвященный процессу компромисса, который является продуктом нашей работы, и имеет последовательное значение для участия в образовательных программах. Скорее всего, что вы хотите, чтобы сделать это естественным путем, в качестве характерного признака, как базового, так и естественного.

1 Ответ

1 голос
/ 25 октября 2019

Вы можете хотеть токенизировать текст по пробелам:

grep -o '[^[:space:]][^[:space:]]*' mytext.txt > output.txt
grep -o '[^[:space:]]\{1,\}' mytext.txt > output.txt
grep -oE '[^[:space:]]+' mytext.txt > output.txt

Или вы можете извлечь все куски из 1+ букв (\p{L}), диакритических знаков (\p{M}) и цифр (\p{N})) с регулярным выражением PCRE, например:

grep -oP '[\p{L}\p{M}\p{N}]+'  mytext.txt > output.txt

См. онлайн-демонстрацию . Для этого вам понадобится pcregrep на MacOS.

...