我该如何过滤标准输出

时间:2012-06-20 09:27:25

标签: shell stdout

我使用mysqldump工具创建数据库的转储,例如

mysqldump database > database.sql

尽管添加了'--lock-tables = FALSE'选项,但.sql文件包含以下行:

LOCK TABLES "tableXYZ" WRITE;
UNLOCK TABLES;

是否可以在将这些行写入.sql文件之前将其过滤掉?

2 个答案:

答案 0 :(得分:2)

mysqldump database | sed  -r '/^(UN)?LOCK/d' > database.sql

答案 1 :(得分:1)

使用sed您可以通过以下方式执行此操作:

mysqldump database |sed -e "/LOCK/d"> database.sql

此命令将删除包含“LOCK”的所有行,然后将其放入database.sql