【发布时间】:2021-03-24 17:54:21
【问题描述】:
我正在尝试清理似乎没有将每个新日志条目写入新行的文件。一些条目最终被附加到上一行的末尾。当我尝试使用 grep/awk 等分析和获取正确的计数/数据时,这使得它变得困难......
这是每行/条目的样子 - 请注意,我已经替换了日志条目的实际内容,但基本上每个条目都以相同的字符串开头并以相同的模式结束,ID/字符串后跟一个数字,例如“ID:20”。
图案:
INFO: DATA: ## DATA2 ## DATA3: ##.### DATA4: ## ID: ##
(注意ID后面的数字对于每个条目并不总是相同的)
文件的某些行最终在同一行上有两个条目:
INFO: DATA: ## DATA2 ## DATA3: ##.### DATA4: ## ID: 33
INFO: DATA: ## DATA2 ## DATA3: ##.### DATA4: ## ID: 20INFO: DATA: ## DATA2 ## DATA3: ##.### DATA4: ## ID: 55
INFO: DATA: ## DATA2 ## DATA3: ##.### DATA4: ## ID: 20
INFO: DATA: ## DATA2 ## DATA3: ##.### DATA4: ## ID: 27INFO: DATA: ## DATA2 ## DATA3: ##.### DATA4: ## ID: 14
INFO: DATA: ## DATA2 ## DATA3: ##.### DATA4: ## ID: 35INFO: DATA: ## DATA2 ## DATA3: ##.### DATA4: ## ID: 22
INFO: DATA: ## DATA2 ## DATA3: ##.### DATA4: ## ID: 10
我想做的是在上面第二行的“ID:##”和“INFO”之间为我的文件中受影响的所有行添加一个新行。
我可以通过grep "ID: [0-9]*INFO" mylog.log grep 出现这种情况的所有链接
并尝试了许多 sed 命令,但似乎无法弄清楚如何在数字 [0-9]* 和 INFO 之间偷偷插入新行 '\n'...
感谢任何帮助。
【问题讨论】: