Shell编程:如何从每一行的头部剪切到粘贴到行尾?

时间:2017-02-14 08:49:58

标签: shell text line paste cut

例如,我有一个build.log文件,每行都是这样的:

[2017-02-13 16:37:41.123456] [warning]  [1743]  [mysource/impl.cpp:25] Syntax warning ...

我需要将其格式转换为:

[warning]  [1743]  [mysource/impl.cpp:25] Syntax warning ...[2017-02-13 16:37:41.123456]

所以我的问题是,如何在第一个[]中删除前导时间戳并粘贴到行尾?

怎么做bash / sed / awk(无论如何)?感谢。

1 个答案:

答案 0 :(得分:2)

尝试类似:

echo "[2017-02-13 16:37:41.123456] [warning]  [1743]  [mysource/impl.cpp:25] Syntax warning " | awk -F" " '{for(i=3;i<=NF;++i)printf ("%s ", $i); printf("%s %s\n", $1, $2)}'