支持HW团队,就支付宝领取下面的红包吧!(2018年3月31前,就几毛,也会几块,可以和其他红包叠加使用),你领取消费,HW有奖励。红包使用无条件限制,有条件请注意是不是有病毒。

小伙伴们,给大家发红包喽!人人可领,领完就能用。祝大家领取的红包金额大大大!#吱口令#长按复制此消息,打开支付宝就能领取!er1OEj73Uj

登入 注册 | 验证
| 搜索
HelloWorld论坛 : > 计算机科学、技术、教学> 电脑应用> linux系统> [转]批量删除UTF-8编码中BOM字符
 
 
 
 
 
 
类别:linux 阅读:7951 评论:0 时间:五月 22, 2012, 11:39 a.m. 关键字:

 

 在Linux下编译一个同事打包过来的C项目工程,编译步骤很简单,只有一步:make,问题是报错一堆错:

...
gcc -fno-strict-aliasing -DNDEBUG -DSF_LIBEAL_USE_HPET -O2 -DSF_LITTLE_ENDIAN -W -Wall -Wno-pointer-sign -Wno-unused-parameter -I... -MD -c -o obj/xxx.c
In file included from /.../xxx.h:17,
from /.../xxx.h:5,
from xxx.c:34:
/.../xxx.h:1: error: stray '\357' in program
/.../xxx.h:1: error: stray '\273' in program
/.../xxx.h:1: error: stray '\277' in program
make[2]: *** [obj/xxx.o] Error 1
make[2]: Leaving directory `/.../xxx'
make[2]: Leaving directory `/.../xxx'
gcc -fno-strict-aliasing -DNDEBUG -DSF_LIBEAL_USE_HPET -O2 -DSF_LITTLE_ENDIAN -W -Wall -Wno-pointer-sign -Wno-unused-parameter -I... -MD -c -o obj/xxx.c
In file included from /.../xxx.h:17,
from /.../xxx.h:5,
from xxx.c:34:
/.../xxx.h:1: error: stray '\357' in program
/.../xxx.h:1: error: stray '\273' in program
/.../xxx.h:1: error: stray '\277' in program
make[2]: *** [obj/xxx.o] Error 1
make[2]: Leaving directory `/.../xxx'
make[2]: Leaving directory `/.../xxx'
...


这是什么错误?这是UTF-8编码中BOM字符引起的gcc编译出错,BOM(Byte Order Mark)是Windows下的东东,Linux下根本就不需要它,那直接批量去掉吧:
[root@localhost xxx]# grep -rIlo $'^\xEF\xBB\xBF' . | xargs sed --in-place -e 's/\xef\xbb\xbf//'
温馨提

[挂载人]初学MPEG [审核人]初学MPEG 推荐

个人签名--------------------------------------------------------------------------------

Please Login (or Sign Up) to leave a comment