grep如何只输出匹配的字符串,而不是输出一整行?
展开全部
grep没办法,sed 可以做到(-n选项加p命令)。
更多追问追答
追问
比如grep本来输出下面这一行:
adkj2 232dslasd hk_pe@163.com sadh
我该如何使用sed命令让他只输出
hk_pe@163.com
呢?
追答
sed '/hk_pe@163.com/ s/.* \([^ ]*@163.com\) .*/\1/' file.txt
/hk_pe@163.com/
先正则匹配过滤出包含hk_pe@163.com的行,格式: /正则/
再用替换命令 s/.../.../ 处理,\1 引用前面用 \( \) 括起来的组。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用参数-o
grep -o pattern file
grep -o pattern file
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果这速度匹配的字符的话而不是说这一整行的话我觉得这个你需要输入的话进行一些规则性的调整可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
djy@game-rd10:~> echo "adkj2 232dslasd hk_pe@163.com sadh"|grep -o "hk_pe@163.com"
hk_pe@163.com
hk_pe@163.com
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
grep -o "xxxx"
选项o,only-matching : 只显示匹配PATTERN 部分。
选项o,only-matching : 只显示匹配PATTERN 部分。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询