Linux 如何精准过滤关键字信息

2020-03-21 18:43:52 +08:00
 oneforall
最近在学写一些简单的脚本,已会最简单的 grep 、awk 的用法,用得最多的就是 awk 的 print 去显示某列信息。今天遇到一种情况不知道怎么处理才好,请高手分享一下思路。

[root@localhost ~]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017

我想单独把 7.4p1 过滤出来,不带多余信息,应该怎么做?
2673 次点击
所在节点    Linux
6 条回复
jinqzzz
2020-03-21 18:58:33 +08:00
awk -F '_|,' '{print $2}'
UglyOrange
2020-03-21 20:25:46 +08:00
ssh -V 2>&1 | grep -oP '(?<=OpenSSH_)\S+'
gochat
2020-03-21 20:54:34 +08:00
ssh -V 2>&1 |awk -F',' '{print $1}' |awk -F'_' '{print $2}'
404error
2020-03-21 22:13:42 +08:00
ssh -V 2>&1 | cut -d '_' -f 2 | cut -d ',' -f 1 | cut -c 1-5
inhzus
2020-03-21 22:57:07 +08:00
二楼有些瑕疵,fix 下(狗头
ssh -V 2>&1 | grep -oP '(?<=OpenSSH_)[\w.]+'
copdips
2020-03-22 17:14:28 +08:00
楼上给的 cut 挺好用的。

另外给下 powershell 下用法:
(ssh -V 2>&1).ToString().Split(',')[0].Split('_')[-1]

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/654919

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX