【发布时间】:2018-07-01 22:59:20
【问题描述】:
我有一个文件
input.txt
04120;2017-12-27;object1;2017-12-27;object2;2017-12-27;object3;2017-12-27;object4;2017-12-28;XXXXXX1;2017-12-28;XXXXXX2;2018-03-06;object5;2018-03-06;object6
06499;2018-05-30;object1;2018-05-30;object2;2018-05-30;object3;2018-05-30;XXXXXX1;2018-05-31;object4
04123;2017-12-28;object1;2017-12-28;XXXXXX1;2018-04-05;object2
04520;2018-02-11;object1;2018-02-11;object2;2018-02-16;XXXXXX1;2018-03-10;object3
04510;2018-02-09;object1;2018-02-09;object2;2018-02-09;XXXXXX1;2018-02-16;XXXXXX2;2018-04-04;object3
我的日志有不同的字段编号,用“;”分隔.如示例所示,我有 7、9、11 或 17 个字段 我需要在行尾保存第一个条目 XXXXXX 及其日期,以及它之前的对象。从行的中间删除这些字段
例如:
from
04123;2017-12-28;<b>object1;2017-12-28;XXXXXX1</b>;2018-04-05;object2
to
04123;2017-12-28;object1;2018-04-05;object2;<b>2017-12-28;object1;XXXXXX1</b>
输出如下所示:
04120;2017-12-27;object1;2017-12-27;object2;2017-12-27;object3;2017-12-27;object4;2018-03-06;object5;2018-03-06;object6;2017-12-28;object4;XXXXXX1
06499;2018-05-30;object1;2018-05-30;object2;2018-05-30;object3;2018-05-31;object4;2018-05-30;object3;XXXXXX1
04123;2017-12-28;object1;2018-04-05;object2;2017-12-28;object1;XXXXXX1
04520;2018-02-11;object1;2018-02-11;object2;2018-03-10;object3;2018-02-16;object2;XXXXXX1
04510;2018-02-09;object1;2018-02-09;object2;2018-04-04;object3;2018-02-09;object2;XXXXXX1
如何在 bash 中执行命令行?尝试使用 awk,但我还没有得到它
【问题讨论】:
-
请始终将您的努力也放在您的帖子中,因为我们都在这里学习,欢呼和快乐的学习。
-
解决方案总是在展示的样本上给出,所以总是试着把你所有可能的排列和组合放在一个单独的镜头中,否则回复你帖子的人会重新工作。
-
感谢@RavinderSingh13 的反馈,我正在学习,我将编辑并投入我的现实以避免这种情况。我还在学习,在这种情况下我不知道该怎么做
-
我们都在这里诚实地学习 :) 我会要求你尝试从这些答案中学习并尝试自己申请,如果你不能这样做可能会打开一个新线程等,编辑不推荐现有的有很多答案的帖子,干杯和快乐的学习。
-
好的,原问题我回了,我开个新话题,感激不尽
标签: bash awk command-line