• ベストアンサー

正規表現で悩んでいます。

正規表現で悩んでいます。 Linuxを触っているのですが、例えば3番目の=と4番目の=の間の文字を取得するには どうしたらいいのでしょうか? 悩んでてらちがいかないので質問させていただきました。 $ echo "ewfja=iojoi=erewo=rjabc=123" | sed -e ""

質問者が選んだベストアンサー

  • ベストアンサー
  • vaguechat
  • ベストアンサー率85% (47/55)
回答No.2

正規表現は使わないが、 同じ文字の間の文字列を取得するという目的ならば、 echo "ewfja=iojoi=erewo=rjabc=123" | cut -d = -f 4 のようにcutでデリミタとフィールド番号を指定するのではだめ?

hurikake
質問者

お礼

ありがとうございます。 正規表現を使うよりわかりやすかったので、 今回はこの方法を使います。

その他の回答 (2)

  • pakuti
  • ベストアンサー率50% (317/631)
回答No.3

awkコマンドで良いのでは?

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

s/^\([^=]*=\)\{3\}\([^=]*\)=.*/\2/ かなぁ....

参考URL:
http://www.kt.rim.or.jp/~kbk/regex/regex.html#SED