我在linux下使用vi打开一个文件后,然后保存关闭,结果发现最后多出一个字符,估计是回车符什么的

但我用vi打开却看不到这个回车符。请问用shell如何去掉这个文件中的最后这个字符?因为会影响我编译程序

先用ls -l查看文件大小,例如源文件为8字节,用VI编辑后变成了9字节。
这一般是VI在最后加了个‘\n’字符,可以用objdump -c 文件名 查看最后的字符到底是什么。
用truncate -s 8 文件名 把文件截断至8字节即可。

不过'\n'不会影响程序编译吧,但是回车^M这个字符在VI里面是可见的。
如果是^M就用VI命令 :%s/^M//g 回车
注意:里面的^M 必须是同时按 Ctrl+V+M ,表示回车
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-22
大写的X

删一个字符是x(小),
删除当前光标左边的字符是X(大)
删一个词是dw,
要学vi的话建议过一遍 vimtutor,这样vim基本使用就差不多了
直接终端下vimtutor就行了,ubuntu下可能会有乱码问题,你可以网上下载中文版的或 vimtutor en 使用英文版的
第2个回答  2011-01-23
在linux下编辑文件是不能加入"^M"吧? 这个"^M"是在Windows的下的编辑器加入的回车符吧.
这涉及到dos文件格式和Unix文件格式的问题了, 自己去百度查查吧.
要是影响编译的话,估计你加入的是中文字符或是什么其他的乱字符,因为"^M"是不影响编译(by gcc)的.

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网