Mysql 格式化在“\n”;作为文本嵌入

Mysql 格式化在“\n”;作为文本嵌入,mysql,shell,sed,awk,newline,Mysql,Shell,Sed,Awk,Newline,我指的是这个 我通过这个命令有一个输出: mysql-e“显示引擎innodb状态”-u-p数据库>mydumpfile.txt 但是,我使用的任何编辑器(less、vim、kwrite)都会显示\n,而不是真正的新行 如何使用sed、awk或shell中的任何其他工具完成替换?您可以使用以下sed语法 sed -i -e 's|\\n|\n|g' mydumpfile.txt 如果希望正确地从mysql直接输出,请在mysql命令中使用--table选项 mysql --table -e "

我指的是这个

我通过这个命令有一个输出:

mysql-e“显示引擎innodb状态”-u-p数据库>mydumpfile.txt

但是,我使用的任何编辑器(less、vim、kwrite)都会显示
\n
,而不是真正的新行


如何使用sed、awk或shell中的任何其他工具完成替换?

您可以使用以下sed语法

sed -i -e 's|\\n|\n|g' mydumpfile.txt
如果希望正确地从mysql直接输出,请在mysql命令中使用--table选项

mysql --table -e "show engine innodb status" -u -p database > mydumpfile.txt

尝试简单地将
\G
添加到SQL命令,例如:

mysql-e“显示引擎innodb状态\G”-u-p数据库>mydumpfile.txt

或者尝试使用
-r
(或
-raw
)开关运行mysql客户端

mysql-re“显示引擎innodb状态”-u-p数据库>mydumpfile.txt

使用这两种方法中的任何一种,您也可以跳过中间文件,直接导入
less
。例如:

mysql-re“显示引擎innodb状态”-u-p数据库|更少

请注意,没有必要指定数据库。我把它包括进来只是为了和你的问题对等。如果您还设置了my.cnf文件,因此不需要输入密码,您可以将其缩短为:

mysql-重新“显示引擎innodb状态”|更少