首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >控制台上的printf与sh脚本

控制台上的printf与sh脚本
EN

Stack Overflow用户
提问于 2019-02-13 14:37:48
回答 1查看 54关注 0票数 0

我使用printf命令在我的文件中添加一些字节,这样它就像一个Byte-Order-Mark。

以下是我的SH脚本

标题: add_bom.sh

代码语言:javascript
复制
FILE=$1
printf '\xFF\xFE' >> $1

在我的PuTTY终端上,当我直接

代码语言:javascript
复制
printf '\xFF\xFE' >> test.xls

结果如预期的那样正确,xxd test.xls在第一行显示ff和fe

但是,当我通过SH运行它时

代码语言:javascript
复制
sh  add_bom.sh test.xls

结果是错误的,\xFF\xFE作为文本出现在test.xls文件的末尾

为什么会这样呢?

EN

回答 1

Stack Overflow用户

发布于 2019-02-13 14:53:08

>>重定向运算符始终附加到文件的末尾。

如果您想预先添加,可以尝试类似这样的方法

代码语言:javascript
复制
printf '\xff\xfe' >temp
cat otherfile >>temp
mv temp otherfile

但是,将UTF-16 BOM添加到最初不是UTF-16文本文件的文件中几乎肯定是错误的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54664033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档