Unix 从文本中删除标点符号和英文字符
我需要删除文本中的所有标点符号和英文字符 在Unix中如何实现这一点 我试过:Unix 从文本中删除标点符号和英文字符,unix,Unix,我需要删除文本中的所有标点符号和英文字符 在Unix中如何实现这一点 我试过: $ sed '~!@#$%^&*()_+{}[];:'\/.,<>`|ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' <BACC.txt>without.txt $sed'~!@$%^&*()_+{}[];:'\/.,`|abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvxyz'
$ sed '~!@#$%^&*()_+{}[];:'\/.,<>`|ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' <BACC.txt>without.txt
$sed'~!@$%^&*()_+{}[];:'\/.,`|abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvxyz'without.txt
但是它不起作用。也许
tr
会适合你:
tr -d [:punct:][:alpha:]
您可以列出要删除的特定字符:
tr -d [:punct:]IEAOUieaou
如果要用空格替换删除的字符,请使用:
tr -s [:punct:]IEAOUieaou ' '