Jat001
V2EX  ›  问与答

shell 中有哪个命令能打印出一个文件中一段文字呢?

  •  
  •   Jat001 · Aug 28, 2013 · 3017 views
    This topic created in 4669 days ago, the information mentioned may be changed or developed.
    比如一个网页文件,获取它的标题,正则如 <title>(.*)</title>
    怎样只打印出括号里的内容呢?
    6 replies    1970-01-01 08:00:00 +08:00
    jybox
        1
    jybox  
       Aug 28, 2013
    grep
    Jat001
        2
    Jat001  
    OP
       Aug 28, 2013
    @jybox grep 是打印行,加上 o 选项是打印 <title>...</title>,而我只想打印括号中的内容。
    alexrezit
        3
    alexrezit  
       Aug 28, 2013
    @Jat001
    目测正则没学好... 你的需求是可以实现的.
    Jat001
        4
    Jat001  
    OP
       Aug 28, 2013
    @alexrezit 括号不是用来保存匹配结果的吗?我没说错啊。
    Jat001
        5
    Jat001  
    OP
       Aug 28, 2013
    @jybox @alexrezit 好吧,我的正则确实没学好。
    但 egrep -o '(?<=\<title\>).*(?=\<\/title\>)' 没用啊
    Jat001
        6
    Jat001  
    OP
       Aug 28, 2013
    感谢 Google
    grep -oP '(?<=\<title\>).*(?=\<\/title\>)'
    成功
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3230 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 12:03 · PVG 20:03 · LAX 05:03 · JFK 08:03
    ♥ Do have faith in what you're doing.