首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在variable - bash shell脚本中存储输出时,echo命令不保留\n字符

问在variable - bash shell脚本中存储输出时,echo命令不保留\n字符
EN

Stack Overflow用户
提问于 2019-12-29 01:45:34
回答 1查看 230关注 0票数 1

当echo命令将数据存储在变量中时,我正在尝试检索换行符。有人能帮帮我吗?

当我运行echo -e时,它给出了命令行中预期的输出

代码语言:javascript
复制
bash>testfile='INFO\nERROR\nWARNING'
bash> echo -e "$testfile"`
INFO
ERROR
WARNING

但是,当我尝试将输出存储在变量中时,我缺少换行符。

代码语言:javascript
复制
bash>testoutput=`echo -e "$testfile" | grep 'WARNING\|ERROR'`
bash>echo $testoutput
ERROR WARNING

感谢您的建议

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-29 02:18:00

在unix stackexchange上查看this answer。

看起来换行符就在那里,echo只是出于某种原因不想打印它们。相反,请查看printf。

代码语言:javascript
复制
brundage@fatty ~ $ testfile='INFO\nERROR\nWARNING'

brundage@fatty ~ $ echo -e "$testfile"
INFO
ERROR
WARNING

brundage@fatty ~ $ testoutput=`echo -e "$testfile" | grep 'WARNING\|ERROR'`

brundage@fatty ~ $ printf "$testoutput\n"
ERROR
WARNING
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59513392

复制
相关文章

相似问题

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