我需要将文件中与模式匹配的所有行复制到第二个文件。
详细说明:我有一个 sql 转储并想创建第二个 sql 文件,其中包括名称与 dx_postings、dx_postings_archive 等名称匹配的表的所有命令。模式应该是 dx_postings。
有任何想法吗?我更喜欢 awk 或 sed 解决方案。
sed
解决方案:
sed -ne '/pattern/ p' infile >outfile
好的,看到这个:
awk '/pattern/' FILE > NEWFILE
更详细 :
awk '/^(DROP|LOCK) .*dx_postings/' file.sql > newfile.sql
如果您有INSERT或CREATE语句,这会更加棘手,因为有不止一行。
这可能对你有用(GNU sed);
sed -n '/pattern/w second_file' first_file