bash:从 mysql 查询输出 \n \t 字符
我目前拥有
$ echo "`echo "use joomla; describe jos_content" | mysql --batch -u root -ppassword`"
并且希望输出像这样开始
Field\tType\tNull\tKey\tDefault\tExtra\n
,但我得到的结果是
Field Type Null Key Default Extra
我目前已经尝试了各种项目。我可以使用 mysql --html 和 sed,但是,如果这不起作用,我只想去那里。
谢谢!
I currently have
$ echo "`echo "use joomla; describe jos_content" | mysql --batch -u root -ppassword`"
and I would expect output that starts like this
Field\tType\tNull\tKey\tDefault\tExtra\n
but instead I get
Field Type Null Key Default Extra
I have tried all sorts of items at the moment. I could use mysql --html and sed, but, I would only like to go there if this doesn't work out.
thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
删除外部回显:
回显输出会导致所有空格被折叠。
编辑:MySQL 不会输出您想要的转义字符(例如文字 \ 然后 t)。在 bash 中(您必须使用 bash 的 printf),您可以通过以下方式获得近似值:
它将输出开头为:
这是引用与 shell 一起使用的字符。正如所讨论的,您还可以使用 sed。
Remove the outer echo:
echo
ing the output causes all the spaces to be collapsed.EDIT: MySQL does not output the escaped characters you want (e.g. literal \ then t). In bash (you must use bash's printf), you can get an approximation with:
That will output starting with:
This is quoting the characters for use with a shell. You can also use sed, as discussed.
sed
是完成这项工作的正确工具,而不是echo
。或者,如果您确实希望所有输出都在一行上:(
请注意 sed 调用中的四重转义)。
sed
is the right tool for this job, notecho
.Or if you really want all of the output on one line:
(note the quadruple escape in the
sed
call).