我有一个长文件,需要重新处理才能将其输入数据库。该文件的数据采用以下格式:
Error for: 111.222.55.1,[ZXX: Error message] some text (_xxx.c:833)
Error for: 198.243.55.25,[ZXX: Error message] some text (_xxx.c:833)
Unexpected error for: 198.245.175.52,[Errno 104] some text here
我需要重新安排文件是这样的:
Error for,111.222.55.1,[ZXX: Error message] some text (_xxx.c:833)
Error for,198.243.55.25,[ZXX: Error message] some text (_xxx.c:833)
Unexpected error for,198.245.175.52,[Errno 104] some text here
1) 请注意单词后有一个空格for:
2) 正如您在示例中看到的那样,该字符:
可以在一行中出现多次。所以我需要替换之后的第一次出现for:[space]
我想到了sed
搜索和替换。但是不知道如何限制搜索我想要的位置?
使用 SED:
sed
替换第一次出现。awk
解决方案: