使用bash在文本文件中分隔事务

时间:2015-07-21 08:54:28

标签: regex bash file grep

我有一个文本文件,其格式如下:

06:52:25 -> TRANSACTION START
06:52:26 - line1
06:52:27 - line2
06:52:29 -> TRANSACTION END*
06:53:24 -> TRANSACTION START
06:53:25 - line3
06:53:40 - line4
06:53:52 -> TRANSACTION END

我想将每次出现的交易分开并结束为单独的文件

1 个答案:

答案 0 :(得分:1)

尝试:

awk '/TRANSACTION START/{file="trans_"cont++".txt"}{print $0 >> file}' inputfile

<强>解释

/TRANSACTION START/{file="trans_"cont++".txt"}:当START模式匹配时,目标文件名会更新。

{print $0 >> file}:使用>>打印当前文件中的每一行,以避免覆盖。