我有一个格式如下的文本文件
CREATE TABLE `a` (
.
.
);
CREATE TABLE `b` (
.
.
);
等等等等......
我想提取单个表并尝试使用 sed 但它似乎不起作用:
sed -n '/^CREATE\sTABLE\s`a`/,/^;$/p' file
不幸的是,这没有提供预期的行为。它正在生成整个文件,而不仅仅是代码块。
它应该只抓取一个代码块。
发现问题(愚蠢的拼写错误):
sed -n '/^CREATE\sTABLE\s`a`/,/;$/p' file
最佳答案
$ awk -v RS= '$3=="`a`"' file
CREATE TABLE `a` (
.
.
);
$ awk -v RS= '$3=="`b`"' file
CREATE TABLE `b` (
.
.
);
如果这不是您所需要的,那么编辑您的问题以提供更具真实代表性的样本输入和相关的预期输出。
关于linux - 将文本提取到新文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37062461/