1

Что за команда Unix берет текстовый файл и удаляет пробелы и знаки пунктуации, оставляя только слова, по одному слову в строке?

1 ответ1

7

Здесь уже дан ответ на stackoverflow для команд оболочки, которые это делают.

В качестве альтернативы вы также можете использовать vim, чтобы сделать это, как описано в этом посте на stackoverflow.

Главный ответ от rampion о том, как использовать shell:


Вы можете использовать grep:

  • -E '\w+' ищет слова
  • -o печатает только ту часть строки, которая соответствует
% cat temp
Some examples use "The quick brown fox jumped over the lazy dog,"
rather than "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
for example text.
# if you don't care whether words repeat
% grep -o -E '\w+' temp
Some
examples
use
The
quick
brown
fox
jumped
over
the
lazy
dog
rather
than
Lorem
ipsum
dolor
sit
amet
consectetur
adipiscing
elit
for
example
text

Если вы хотите напечатать каждое слово только один раз, независимо от регистра, вы можете использовать sort

  • -u печатает каждое слово только один раз
  • -f указывает sort игнорировать регистр при сравнении слов
# if you only want each word once
% grep -o -E '\w+' temp | sort -u -f
adipiscing
amet
brown
consectetur
dog
dolor
elit
example
examples
for
fox
ipsum
jumped
lazy
Lorem
over
quick
rather
sit
Some
text
than
The
use

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .