【问题标题】:Automatic text formatting自动文本格式化
【发布时间】:2015-11-06 21:07:59
【问题描述】:

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

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

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

【问题讨论】:

标签: java c# text scripting formatting


【解决方案1】:

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

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-11
    • 2012-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多