作业帮 > 综合 > 作业

sed如何实现grep -o的功能.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/05 12:39:17
sed如何实现grep -o的功能.
grep 的 -o 选项:
-o, --only-matching
Show only the part of a matching line that matches PATTERN.

$ echo "hello" | grep -o "he"
he

sed利用正则表达式和group功能同样可以实现:
$ echo "hello" | sed -n 's/.*\(he\).*/\1/;p'
he
再问: 这个把全行都替换了啊。 我每行要匹配的关键字个数不一样的,比如IP,第一行可能有2个IP,第二行就3个。
再答: 这个用sed不太好办,sed大部分情况都是以“行”为处理单位的,通常将一行看做一个整体来操作的情况比较多(替换命令s除外)。如果对一行内容还要细细拆分检查的话用 awk 比较合适。 $ echo "gohellohellohi" | grep -o "he" he he $ echo "gohellohellohi" | awk 'BEGIN{FS="he"}{for(i=1;i