我有一个文件,每个字符后面都有可见^@
个字符(蓝色)。我只能在vi file.txt
中看到这些字符。我无法使用cat
查看这些字符。我该如何删除它们?
我尝试使用以下命令:
sed "s/[^@]//g" a.txt > b.txt
然而,这似乎没有改变文件。
答案 0 :(得分:2)
尝试iconv -f UTF16 -t UTF8 <your-file> > <new-file>
答案 1 :(得分:1)
dos2unix file.txt file.txt
。这样做..
答案 2 :(得分:0)
这有效:
sed "s/[\^@]//g" a.txt > b.txt
答案 3 :(得分:0)
我以这种方式删除目录中所有带有不适当符号的文件:
for i in *.*;do
case "$i" in
*[\(\)\!\*\%\^\ ]*)
mv "$i" ${i//[^a-zA-Z0-9.]/_}
;;
esac
done
[()!*%^ \] -表示从()!*%^和空格中消除任何符号 [^ a-zA-Z0-9。]-代表非英语的小写和大写字符,数字和点
重要的是,它仅重命名包含“坏”字符的文件。