在单独的文件中记录所有出现的特定模式

Logging all occurences of a specifc pattern in separate files

我有一个包含以下数据的文件:

"ItemList":  
  "Resource" : "6"  
  "ResourceIdentifier" : "12345"  
  "ResourceEventTime" : "2015-01-20T10:51:39Z"  
  "ResourceIdentifier" : "12345"  
  "ResourcePosition" : "2"  
  "Resource" : "7"  
  "ResourceIdentifier" : "12345"  
  "ResourceEventTime" : "2014-01-20T10:51:39Z"  
  "ResourceIdentifier" : "12345"  
  "ResourcePosition" : "17"  

是否可以在单独的文件中检索以 "Resource" 开始直到 "ResourcePosition" 的所有模式,例如 -

文件 1

"Resource" : "6"  
"ResourceIdentifier" : "12345"  
"ResourceEventTime" : "2015-01-20T10:51:39Z"  
"ResourceIdentifier" : "12345"  
"ResourcePosition" : "2"  

文件 2

"Resource" : "7"  
"ResourceIdentifier" : "12345"  
"ResourceEventTime" : "2014-01-20T10:51:39Z"  
"ResourceIdentifier" : "12345"  
"ResourcePosition" : "17"  

我尝试使用

cat FormattedJsonStructure | grep -m 1 -A 5 Resource

有了这个我得到了第一个模式。为了获得下一个模式,我尝试了

cat FormattedJsonStructure | grep -m 2 -A 5 Resource

但它给了我两个连续的模式。

split命令可用于制作单独的文件:

grep FormattedJsonStructure --no-group-separator -A 4 -e "Resource" > AllResource
split -l 5 AllResource Resource

请注意,-A 4 alltogether 加上匹配的行表示 5 行。