我需要从一个非常大的文本文件中删除部分文本。 文本文件是这样的:
Abcdefghijk
LOCK TABLES `core_log` WRITE; <----
(DATA - over 1 Gb of text data)
UNLOCK TABLES; <----
lmnopqrstuvxyz
我需要创建一个脚本(Windows或Unix),删除&#34; LOCK TABLES&#34;中的所有内容。到&#34;解锁表;&#34;并保留文件的其余部分。脚本运行后我需要
Abcdefghijk
lmnopqrstuvxyz
我可以将提取的数据保存在另一个文件中,或者我可以覆盖同一个文件。 谢谢你的帮助。
答案 0 :(得分:2)
最好使用awk
:
$ awk '/^LOCK TABLE/{f=1} /^UNLOCK TABLE/{f=0} f' file
答案 1 :(得分:2)
使用 GNU sed:
sed -i '/^LOCK TABLES/,/^UNLOCK TABLES/d' file
输出到文件:
Abcdefghijk lmnopqrstuvxyz