【发布时间】:2019-02-07 22:17:25
【问题描述】:
我正在尝试获取第三列,特别是只想提取日期,下面是数据的样子。
示例数据集
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
green open dpc-syslog-2019.02.04 HJNqQMd_T1qbyHM5HEHGUw 5 1 46559620 0 37.1gb 18.5gb
green open syslog-2019.06.23 Q73bPEXUQz64Pt7eh-a3pQ 5 1 4930 0 2.1mb 1mb
green open .monitoring-kibana-6-2019.02.04 _5_68NpKStWo3dBFOXZUlw 1 1 8749 0 5mb 2.5mb
green open syslog-2019.04.11 e45heIjRTGqO_KHS8He0Ag 5 1 14 0 109kb 54.5kb
green open syslog-2019.02.04 -tshSKMAR8GKYnY2KSqn_Q 5 1 19236875 0 5gb 2.5gb
green open syslog-2019.05.04 cTgQAcT-QkKklhsKucvotA 5 1 14 0 141kb 70.5kb
green open syslog-2019.04.19 CXzRauBZTWu64HB8KTCj5A 5 1 14 0 108.9kb 54.4kb
green open syslog-2019.03.02 ap9TDVkIQeGRbTQ9Qpzarg 5 1 14 0 108.3kb 54.1kb
green open syslog-2019.03.03 uNcOfR8gSfWYWJgh1Bp9WQ 5 1 14 0 107.6kb 53.8kb
下面是我试图获取日期的内容,但我在下面的命令语法中看到它还有一些我想删除的字符串。
尝试的代码:
[root@host1 ~]# curl -s -XGET http://127.0.0.1:9200/_cat/indices?v | awk '{print $3}'|cut -d. -f1-3 | sed 's/\.//g' | awk -F- '{print $NF}' | head
index
kibana
20190204
20190623
20190204
20190411
20190204
20190504
20190419
20190302
20190303
期望的输出:
20190204
20190623
20190204
20190411
20190204
20190504
20190419
20190302
20190303
也就是说,我只想要数字,只想跳过删除上面代码中的任何字符字符串,如index。
我希望这可以使用 awk 或 sed 或 grep 更好、更干净地完成,但只是摆弄实现方式。
感谢您的帮助。
【问题讨论】:
-
1.你想得到什么输出? 2. 为什么你又使用了 awk 和 cut 以及 sed 和 awk?这不应该是一个 awk 命令吗?
-
@melpomene,我刚刚更新了帖子,虽然我只需要数字
-
最后一个字段只有数字似乎全为零。
-
@Tiw,这在我的命令输出中,请考虑一下
-
@JamesBrown,看起来帖子的标题具有误导性,我现在试图让它更清楚,很抱歉造成混乱。