V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Jat001
V2EX  ›  问与答

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

  •  
  •   Jat001 · 2013-08-28 07:07:04 +08:00 · 2541 次点击
    这是一个创建于 3907 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如一个网页文件,获取它的标题,正则如 <title>(.*)</title>
    怎样只打印出括号里的内容呢?
    6 条回复    1970-01-01 08:00:00 +08:00
    jybox
        1
    jybox  
       2013-08-28 07:14:00 +08:00
    grep
    Jat001
        2
    Jat001  
    OP
       2013-08-28 07:32:41 +08:00
    @jybox grep 是打印行,加上 o 选项是打印 <title>...</title>,而我只想打印括号中的内容。
    alexrezit
        3
    alexrezit  
       2013-08-28 07:38:56 +08:00
    @Jat001
    目测正则没学好... 你的需求是可以实现的.
    Jat001
        4
    Jat001  
    OP
       2013-08-28 07:44:32 +08:00
    @alexrezit 括号不是用来保存匹配结果的吗?我没说错啊。
    Jat001
        5
    Jat001  
    OP
       2013-08-28 08:10:03 +08:00
    @jybox @alexrezit 好吧,我的正则确实没学好。
    但 egrep -o '(?<=\<title\>).*(?=\<\/title\>)' 没用啊
    Jat001
        6
    Jat001  
    OP
       2013-08-28 08:14:48 +08:00
    感谢 Google
    grep -oP '(?<=\<title\>).*(?=\<\/title\>)'
    成功
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   986 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 21:40 · PVG 05:40 · LAX 14:40 · JFK 17:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.