supman
V2EX  ›  问与答

求助 求助 关于 bash 中文本的处理

  •  
  •   supman · Nov 16, 2016 · 1565 views
    This topic created in 3503 days ago, the information mentioned may be changed or developed.
    情况是这样的,这两行就是要输入的文本。

    192.168.2.4,21/tcp//ftp///,23/tcp//ssh///
    192.168.2.5,53/tcp//dns///,80/tcp//http///

    要求是 输入 ftp , 要返回
    192.168.2.4,21/tcp//ftp///

    输入 ftp ssh 返回
    192.168.2.4,21/tcp//ftp///,23/tcp//ssh///



    尝试用 awk 先根据“,”分成好几组, 然后从第二组开始,用正则匹配, 然后只输出匹配成功的组。。不过只是个想法,没有找到什么例子。

    发在 v2 , 请大家帮忙 指点 :) 谢谢啦
    1 replies    2016-11-16 12:23:43 +08:00
    ryd994
        1
    ryd994  
       Nov 16, 2016 via Android
    for 每行:
    按逗号拆成 array
    for array : 如果找到字段就输出

    逗号拆 array 参考: http://stackoverflow.com/questions/918886/how-do-i-split-a-string-on-a-delimiter-in-bash

    实在想不明白就 Perl/Python 解决吧,简单得多。 Perl 几乎是 Unix 必带, Python 基本也到处都有。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2539 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 12:29 · PVG 20:29 · LAX 05:29 · JFK 08:29
    ♥ Do have faith in what you're doing.