linux tr 命令 - 将 mysqldump 插入拆分到不同的行

标签 linux mysql tr

我有一个 mysqldump,它将多行放在一行中:

INSERT INTO `ps_access` VALUES (1,1,1,1,1,1),(1,2,1,1,1,1),(1,3,1,1,1,1),(1,4,1,1,1,1),(1,5,1,1,1,1),(1,6,1,1,1,1),(1,7,1,1,1,1),(1,8,1,1,1,1),(1,9,1,1,1,1),(1,10,1,1,1,1),(1,11,1,1,1,1),(1,12,1,1,1,1),(1,13,1,1,1,1),(1,14,1,1,1,1),(1,15,1,1,1,1),(1,16,1,1,1,1),(1,17,1,1,1,1),(1,18,1,1,1,1),(1,20,1,1,1,1),(1,21,1,1,1,1),(1,22,1,1,1,1),(1,23,1,1,1,1),(1,24,1,1,1,1),(1,26,1,1,1,1),(1,27,1,1,1,1),(1,28,1,1,1,1),(1,29,1,1,1,1),(1,30,1,1,1,1),(1,31,1,1,1,1),(1,32,1,1,1,1),(1,33,1,1,1,1),(1,34,1,1,1,1),(1,35,1,1,1,1),(1,36,1,1,1,1),(1,37,1,1,1,1),(1,38,1,1,1,1),(1,39,1,1,1,1),(1,40,1,1,1,1),(1,41,1,1,1,1),(1,42,1,1,1,1),(1,43,1,1,1,1),(1,44,1,1,1,1),(1,47,1,1,1,1),(1,48,1,1,1,1),(1,49,1,1,1,1),(1,51,1,1,1,1),(1,52,1,1,1,1),(1,53,1,1,1,1),(1,54,1,1,1,1),(1,55,1,1,1,1),(1,56,1,1,1,1),(1,57,1,1,1,1),(1,58,1,1,1,1),(1,60,1,1,1,1),(1,61,1,1,1,1),(1,62,1,1,1,1),(1,63,1,1,1,1),(1,64,1,1,1,1),(1,65,1,1,1,1),(1,66,1,1,1,1),(1,67,1,1,1,1),(1,68,1,1,1,1);

我想使用 tr 命令将它们分成不同的行,我尝试这样做:

cat dump.sql | tr ")," "),\n" | less

但它不起作用(输出没有改变,它与输入文件相同)。我做错了什么?

最佳答案

tr 只进行一对一替换。试试 sed:

cat dump.sql | sed -e 's/),/&\n/g' | less

关于linux tr 命令 - 将 mysqldump 插入拆分到不同的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18904685/

相关文章:

php - 无法在 Ubuntu 14.04 上安装 Mysql 5.6

c - 具有非空 shmaddr 的 Shmat

linux - Vim 在插入模式下更改 block 光标

PHP:有一个现有的二维数组并想从 mySQL 查询中添加另一列

linux - 错误 TR 命令宽度 :punct: param

php - 将 $_GET 参数传递给 cron 作业

php - MySqli 插入海量数据

mysql - 在 MySQL 中使用另一个列表选择一个列表的子集

bash - 如何使用 Find-exec 和 Tr 处理大量文件

linux - 递归地从多个文件中删除非 ASCII 字符