自动文本格式化

本文关键字:格式化 文本 | 更新日期: 2023-09-27 18:07:45

我在文本文件中有一堆日志,目前看起来像垃圾。例如:

Name;BlahBlah;2015-08-11T23:34:19.7532939Z;Somethingsomething;abcdef;;something2;1.344.3.5.55;;;;sdfsdf;"ABCDEF";

我的任务是使它更可读。因此,我的第一反应是用分隔符分隔信息。在这种情况下,我认为;是分隔符。我该怎么做呢?是否有一些工具/程序已经做到了这一点?我可以用换行符替换每个分隔符,并将编辑后的日志存储到一个新的文本文件中。

自动文本格式化

我认为你给我们的资料还不够多。为什么java和c#会被标记在这个问题上呢?分号到换行符的问题很容易回答,所以我将回答它。

我一整天都在使用sed,所以我建议使用sed。如果您在Unix或Linux机器上工作,或者有一些类似* Unix的环境,如Cygwin,您可能可以访问sed,它会很好地处理这个问题。

例如,如果您给出的行位于名为test.txt的文件中,则以下命令将用换行符替换日志文件中的所有分号,并将其打印到控制台:

cat test.txt | sed "s/;/'n/g"

这解决了分号问题,假设日志的数据部分没有任何分号。您可以使用一个脚本扩展此操作,以便在目录中的所有内容上运行sed。

sed的替代品包括awk或Perl,它们更具可移植性。在大多数文本编辑器中也有查找/替换所有选项。