将匹配行复制到第二个文件

时间:2012-09-27 14:50:13

标签: sed awk

我需要将匹配模式的文件中的所有行复制到第二个文件。

详细说明:我有一个sql转储,想要创建第二个sql文件,其中包含名称与dx_postings,dx_postings_archive等匹配的表的所有命令。模式应该是dx_postings。

有什么想法吗?我更喜欢awk或sed解决方案。

3 个答案:

答案 0 :(得分:4)

sed解决方案:

sed -ne '/pattern/ p' infile >outfile

答案 1 :(得分:2)

好的,请看:

awk '/pattern/' FILE > NEWFILE

更具体:

awk '/^(DROP|LOCK) .*dx_postings/' file.sql > newfile.sql

如果你有 INSERT CREATE 语句,这会更棘手,因为有多行。

答案 2 :(得分:1)

这可能适合你(GNU sed);

sed -n '/pattern/w second_file' first_file