我需要将匹配模式的文件中的所有行复制到第二个文件。
详细说明:我有一个sql转储,想要创建第二个sql文件,其中包含名称与dx_postings,dx_postings_archive等匹配的表的所有命令。模式应该是dx_postings。
有什么想法吗?我更喜欢awk或sed解决方案。
答案 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