将文本提取到新文件中

时间:2016-05-06 00:40:05

标签: linux bash awk sed

我有一个文本文件,格式如下

CREATE TABLE `a` (
.
.
);

CREATE TABLE `b` (
.
.
);

依旧等......

我想提取单个表格并尝试使用sed,但它似乎无法正常工作:

sed -n '/^CREATE\sTABLE\s`a`/,/^;$/p' file

遗憾的是,这并没有提供预期的行为。它生成整个文件而不仅仅是代码块。

它应该只抓取一个代码块。

发现问题(哑巴错字):

sed -n '/^CREATE\sTABLE\s`a`/,/;$/p' file

2 个答案:

答案 0 :(得分:1)

$ awk -v RS= '$3=="`a`"' file
CREATE TABLE `a` (
.
.
);

$ awk -v RS= '$3=="`b`"' file
CREATE TABLE `b` (
.
.
);

如果这不是您所需要的,那么请编辑您的问题,以提供更具真实代表性的样本输入和相关的预期输出。

答案 1 :(得分:0)

使用sideDrawer.showDrawer(); 并按sed

取消最后一行
head -n -1