我想抓一个sed
的字符串。假设我有字符串aabbcc
,我想查找aa
和cc
之间的内容。我像这样使用sed
:
sed -n '/aa/,/cc/p'
并且没关系,但我希望获得类似aabb
的内容,所以我希望sed在开始和结束之间返回字符串,但包括开头。
我该怎么做?
编辑
好的,让我更具体一点。我查找文本的文件如下所示:
aa bbbbbbbbbbbbbb
bbbbbbbbbbbbbbbbb
bbbbbbbbbbbbbbbbb
cc
答案 0 :(得分:1)
像这样使用sed:
d='aabbcc'
s='aa'
e='cc'
sed "s/^\(${a}.*\)${e}$/\1/" <<< "$d"
aabb
编辑:根据已修改的问题,请使用以下命令:
sed -n '/aa/,/cc/{/cc/!p;}' file
aa bbbbbbbbbbbbbb
bbbbbbbbbbbbbbbbb
bbbbbbbbbbbbbbbbb
答案 1 :(得分:0)
从你问题的当前状态我收集到这是一个可能的答案:
sed -n 's/\(^.*bb\).*/\1/p'
像这样使用:
echo "aabbcc" | sed -n 's/\(^.*bb\).*/\1/p'
打印
aabb
答案 2 :(得分:0)
有关
假设我有字符串aabbcc,我想找到aa之间的内容 和cc。
echo "aabbcc" | sed -r 's/aa(.*)cc/\1/'
输出:
bb