regex - grep -o 在同一行中多次出现变量字符串
问题描述
我在文件中有以下文本行:
(http://onsnetwork.org/kubu4/2018/10/16/qpcr-c-gigas-primer-and-gdna-tests-with-18s-and-ef1-primers/), I checked Ronit's [DNased ctenidia RNA (from 20181016)](http://onsnetwork.org/kubu4/2018/10/16/dnase-treatment-ronits-c-gigas-ploiyddessication-ctenidia-rna/)
我想提取与此模式匹配的每个字符串:
(http://onsnetwork.org/kubu4/.*/)
我尝试了以下命令,但它返回整行,尽管有-o
标志:
grep -o "(http://onsnetwork.org/kubu4/.*/)" file.txt
我想要的输出是这样的:
(http://onsnetwork.org/kubu4/2018/10/16/qpcr-c-gigas-primer-and-gdna-tests-with-18s-and-ef1-primers/)
(http://onsnetwork.org/kubu4/2018/10/16/dnase-treatment-ronits-c-gigas-ploiyddessication-ctenidia-rna/)
我将把grep
命令应用到一系列文件,这些文件后面会有不同的文本(http://onsnetwork.org/kubu4/
,所以命令需要允许这种灵活性。
我只是不确定为什么正则表达式部分grep
会grep
返回整行而不是每个匹配项。
解决方案
您应该检查括号内的网址:
grep -o '(http://onsnetwork.org/kubu4/[^)]*/)' # So, [^)]* and not .*
用.*/
, grep while extract from(
到最后/
遇到的。
推荐阅读
- docker - 以非管理员身份运行但不以管理员身份运行时可见的注册表项
- r - R Shiny error - cannot coerce type 'closure' to vector of type 'character'
- javascript - 放置时如何在元素上实现动画?jQuery UI
- redux - VS code - search for function reference within specific function- macOS
- python-3.x - 如何将文件从纯文本转换为列表变量?
- java - Create endpoint from query by method name, that is pageable/sortable
- python - 覆盖图像文件/文件夹的前缀
- asp.net - 来自受保护的 WebAPI 的响应是登录到我的帐户 Microsoft 页面的 HTML
- java - 使用 Spring 框架的 WebSocketClient 时如何修复 NoClassDefFoundError
- python - Python中的拼字游戏单词查找器