linux - 从 .txt 文件中删除扩展 ASCII 字符 Linux 终端

标签 linux ascii cat tr sentiment-analysis

我正在尝试从 .txt 文件生成词频列表,我不希望某些 ASCII 可打印字符和所有扩展 ASCII 字符都参与到词频列表中。这是我的通用代码:

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

我想要的代码的一个关键部分是确保删除彼此相邻的符号,例如:«•

最后,有没有办法删除附加在单词上的单引号?这样“word 或 'word 可以为 word 做出贡献。我尝试过 tr -d "\""tr -d '\33-\64' 但似乎不起作用。

以下是 file.txt 的示例:
£, 是单位体积的比热,«•„ 和 cr,, 分别为正常区域的热导率和电导率"

我希望输出为:
3
2 和
1卷
1 单位
1 热
1具体
分别1个
1个地区
1 个
1 个
1 正常
1 是
1 热
1 电气
1 电导率
1 是

最佳答案

给定此文件:

$ 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!

您可以使用iconv -ct ascii删除所有非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!

或者使用 iconv -t ascii//translit 将它们音译为无重音的 ascii(如果有):

$ 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!

关于linux - 从 .txt 文件中删除扩展 ASCII 字符 Linux 终端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29525725/

相关文章:

linux - zsh 中的命令替换

sql - 如何查询 ASCII 13 或 "Carriage return"的字段?

c# ascii 到键码?

python - 与pyserial一起使用后无法用cat打开/dev/tty/USB0

linux - arm-linux-gnueabi 跳过了 PWD 中的某些 header ?

ruby - Ruby 脚本输出存储到文件中的问题

bash - 猫、 echo 和进程替换

html - 从日志文件创建 .html 文件

linux - sqlplus 无法使用 tnsnames.ora 中的信息连接到 oracle

c# - 如何检索包含印地文文本的字符串中char的unicode十进制表示形式?