Что за команда Unix берет текстовый файл и удаляет пробелы и знаки пунктуации, оставляя только слова, по одному слову в строке?
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