2015-04-08 3 views
0

Я пытаюсь сгенерировать список частоты слов из .txt-файла, я не хочу, чтобы некоторые ASCII-печатные символы и все расширенные символы ASCII вносили вклад в слово частотный список. Вот мой обобщенный код:Удаление расширенных символов ASCII из TXT-файла Linux Terminal

cat file.txt | tr -d '[:punct:]' | tr -d '[:digit:]' | tr -d '\33-\64\91-\96\123-\255' | tr ' ' '\n' | tr 'A-Z' 'a-z' | sort | uniq -c | sort -rn > Freq.list 

Кроме того, я первоначально пытался сегмент: tr -d '[:special:]' но получил ошибку: Tr: недопустимый символьный класс special

Ключевой частью кода, который я хочу, чтобы также сделать убедитесь, что символы рядом друг с другом удалены, например: «•

Наконец, существует ли способ удалить одинарные котировки, прилагаемые к слову? .. Такой, что «слово или«слово может внести свой вклад в слово я пытался tr -d "\"" и tr -d '\33-\64' для этого, но не похоже на работу

Вот пример file.txt:
фунтов стерлингов, является удельная теплоемкость на единицу объема, «•«и кр ,, соответственно тепловая и электрическая проводимость нормальной области»

Какой я хочу выход как:
3 объема
2 и
1 единица
тепловая
1 удельная
1 соответственно
1 регион
1 за
1 нормальный
1 тепла
1 электрический
1 проводимость
1 являются

+0

Можете ли вы показать пример 'файла. txt' и ваш ожидаемый результат? – hek2mgl

+0

добавил .txt и желаемый вывод в исходное сообщение –

ответ

0

Данный файл:

$ cat file 
My hovercraft is full of eels 
Min luftpudebåd er fyldt med ål 
Mon aéroglisseur est plein d'anguilles 
โฮเวอร์คราฟท์ของผมเต็มไปด้วยปลาไหล 
Iyéčhiŋkiŋyaŋka čha kiŋyáŋ mitȟáwa kiŋ hoká ožúla! 

Вы можете удалить все не-ASCII с iconv -ct ascii:

$ iconv -ct ascii < file 
My hovercraft is full of eels 
Min luftpudebd er fyldt med l 
Mon aroglisseur est plein d'anguilles 

Iyhikiyaka ha kiy mitwa ki hok ola! 

Или транслитерации их в безударной ASCII если с iconv -t ascii//translit:

$ iconv -t ascii//translit < file 
My hovercraft is full of eels 
Min luftpudebad er fyldt med al 
Mon aeroglisseur est plein d'anguilles 
?????????????????????????????????? 
Iyechi?ki?ya?ka cha ki?ya? mithawa ki? hoka ozula! 
+0

OP также хочет удалить знаки пунктуации и цифры. –

+0

Код OP уже успешно делает это –

+0

. Мои файлы .txt - это десятки тысяч строк длиной, и есть куча случайных совпадений букв и дефисных слов, которые могут быть жертвами кода. Но: iconv -ct ascii <файл, а затем выполнение моего кода, похоже, заботится о коаксиальных кодах, дефисах и символах без ascii –