V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
oneforall
V2EX  ›  Linux

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

  •  
  •   oneforall · 2020-03-21 18:43:52 +08:00 · 2803 次点击
    这是一个创建于 1690 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近在学写一些简单的脚本,已会最简单的 grep 、awk 的用法,用得最多的就是 awk 的 print 去显示某列信息。今天遇到一种情况不知道怎么处理才好,请高手分享一下思路。

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

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

    另外给下 powershell 下用法:
    (ssh -V 2>&1).ToString().Split(',')[0].Split('_')[-1]
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1752 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 16:40 · PVG 00:40 · LAX 08:40 · JFK 11:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.