自动文本格式

时间:2015-08-13 18:39:54

标签: java c# text scripting formatting

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

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

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

1 个答案:

答案 0 :(得分:0)

我认为你还没有给我们足够的工作。为什么java和C#标记在这个问题上呢?但是,分号到换行问题很容易回答,所以我会回答它。

我一整天都在和sed合作,所以我要建议sed。如果你在Unix或Linux机器上工作,或者像Cygwin这样的类似* nix的环境,你可能有权访问sed,它会很好地处理这个问题。

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

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

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

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