从txt文件中删除部分文本

时间:2017-10-03 16:08:00

标签: regex windows grep text-files

我需要从一个非常大的文本文件中删除部分文本。 文本文件是这样的:

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

我可以将提取的数据保存在另一个文件中,或者我可以覆盖同一个文件。 谢谢你的帮助。

2 个答案:

答案 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