![将文件中的非 ASCII 字符替换为空格](https://linux22.com/image/81844/%E5%B0%86%E6%96%87%E4%BB%B6%E4%B8%AD%E7%9A%84%E9%9D%9E%20ASCII%20%E5%AD%97%E7%AC%A6%E6%9B%BF%E6%8D%A2%E4%B8%BA%E7%A9%BA%E6%A0%BC.png)
我使用以下命令来替换非 ASCII 字符、单引号和不可打印字符:
sed -i -e "s/'//g" -e's/'//g' -e's/[\d128-\d255]//g' -e's/\x0//g' filename
但是,我收到错误:
sed: -e expression #3, char 18: Invalid collation character
我怎样才能替换这些字符?
答案1
试试这样:
LANG=iso-8859-1 sed -i -e"s/'//g" -e's/'//g' -e's/[\d128-\d255]//g' -e's/\x0//g'
或者您可能会发现这很有用(将替换不可打印的单引号):
sed -i 's/[^[:print:]]//;s/'\''//g;s/'//g' filename