0

で文字列を取得したいsed。文字列を取得し、 と の間にaabbccあるものを見つけたいとしましょう。私はこのように使用します:aaccsed

sed -n '/aa/,/cc/p' 

それは問題ありませんが、次のようなものを取得したいaabbので、sedが最初と最後の間で最初を含む文字列を返すようにします。

どうやってやるの?

編集

わかりました、より具体的にさせてください。テキストを探すファイルは次のようになります。

aa bbbbbbbbbbbbbb  
bbbbbbbbbbbbbbbbb  
bbbbbbbbbbbbbbbbb  
cc
4

3 に答える 3

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
于 2013-09-11T10:04:34.567 に答える
0

為に

文字列 aabbcc を取得し、aa と cc の間にあるものを見つけたいとしましょう。

echo "aabbcc" | sed -r 's/aa(.*)cc/\1/'

出力:

bb
于 2013-09-11T10:04:44.143 に答える