我想用sed
. 假设我有字符串aabbcc
,我想找到 and 之间aa
的内容cc
。我sed
这样使用:
sed -n '/aa/,/cc/p'
很好,但我想得到类似的东西,aabb
所以我希望 sed 在开始和结束之间返回字符串,但包括开始。
我怎样才能做到这一点?
编辑
好的,让我更具体一点。我在其中查找文本的文件如下所示:
aa bbbbbbbbbbbbbb
bbbbbbbbbbbbbbbbb
bbbbbbbbbbbbbbbbb
cc
像这样使用 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
为了
假设我有字符串 aabbcc,我想找出 aa 和 cc 之间的内容。
echo "aabbcc" | sed -r 's/aa(.*)cc/\1/'
输出:
bb
从您问题的当前状态来看,我认为这是一个可能的答案:
sed -n 's/\(^.*bb\).*/\1/p'
像这样使用:
echo "aabbcc" | sed -n 's/\(^.*bb\).*/\1/p'
印刷
aabb