如何解决如果正向后退不起作用,如何在比赛结束后重新输入单词?
我正在尝试重复匹配“名称:”之后的单词
Her name: Ana Frost. I know we are meant to be.
Her name: Beth Cooper. I know we are meant to be.
我希望我的输出是:
Ana
Beth
我尝试使用下面的命令,但不起作用:
grep -i '(?<=name:\s)\w+'
有没有办法做到这一点而又不给人以积极的印象,或者使Unix shell能够以某种方式认出它呢? 谢谢。
解决方法
我看不出有任何理由可以使用。只需在name:
之后找到单词即可。
使用GNU sed:
sed 's/.*name: \([A-Z][a-z]\+\).*/\1/'
使用任何POSIX sed:
sed 's/.*name: \([A-Z][a-z]\{1,\}\).*/\1/'
使用grep
和perl正则表达式:
grep -Po 'name: \K\w+'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。