+ -
当前位置:首页 → 问答吧 → Linux特殊字符求助

Linux特殊字符求助

时间:2011-03-11

来源:互联网

本帖最后由 chaogooler8888 于 2011-03-11 16:37 编辑

文件名字和格式
file
vi file
51051278
51051053

使用公式
sort file > file2
全部变成这样
vi file2
^@5^@1^@0^@5^@1^@0^@5^@3^@
^@5^@1^@0^@5^@1^@2^@7^@8^@

奇异符号^@在vi里面看到
cat是看不到的
请问怎么解决?先谢谢了!

作者: chaogooler8888   发布时间: 2011-03-11

:dizzy:不要沉下去啊

作者: chaogooler8888   发布时间: 2011-03-11

echo "51051278
51051053
" |sort |awk -v FS= -v OFS="^@" '$1=$1{print OFS $0 OFS}'
^@5^@1^@0^@5^@1^@0^@5^@3^@
^@5^@1^@0^@5^@1^@2^@7^@8^@

作者: yinyuemi   发布时间: 2011-03-11

不是想要这个格式。。
我这个文件一sort就会变成
^@5^@1^@0^@5^@1^@0^@5^@3^@
^@5^@1^@0^@5^@1^@2^@7^@8^@
就是想知道怎么去掉^@这个字符
^@这个是特殊符号来 不是只是表面看到的这样

作者: chaogooler8888   发布时间: 2011-03-11

:dizzy:黑哥在哪啊

作者: chaogooler8888   发布时间: 2011-03-11

用 ghex2 或者其他能看十六进制的编辑器 打开看看^@是哪个数 然后删除

作者: chenbin200818   发布时间: 2011-03-11

杯具了:em17:

作者: yinyuemi   发布时间: 2011-03-11

看到删不了 手动删也不可能的

作者: chaogooler8888   发布时间: 2011-03-11

回复 chaogooler8888

file里面只有数字吗?怎么sort file会出来怪异的符号?

cat file得到
51051278
51051053

??

作者: 每日一瓜   发布时间: 2011-03-11

sort后那些在vi看到 我说漏了

作者: chaogooler8888   发布时间: 2011-03-11

try:
sed 's/[^0-9]//g'

作者: yinyuemi   发布时间: 2011-03-11

谢谢 yinyuemi啊

作者: chaogooler8888   发布时间: 2011-03-11



QUOTE:
sort后那些在vi看到 我说漏了
chaogooler8888 发表于 2011-03-11 16:36




   执行dos2unix试一下

作者: 每日一瓜   发布时间: 2011-03-11

用sed 's/[^0-9]//g'就把 除了数字的东西都去掉 这个好 学习了

作者: chaogooler8888   发布时间: 2011-03-11

执行dos2unix也没用
那个看上去^@这个样子,其实他本质不是^@这个样子的,是一些很特殊的符号来
sed 's/[^0-9]//g'就把除了数字的都去掉 这个好

作者: chaogooler8888   发布时间: 2011-03-11