0

現在のテキスト

Variable length text = some string(some more text

への変更

Variable length text = some string(addition some more text

「=」文字が検出された後のみ、行の最初の括弧の後に特定のテキストを追加する必要があります。もう1つの条件は、「=(」のようなパターンを無視することです。これは、基本的に、「=」と「(」の間にスペースのみがあるパターンを無視する必要があることを意味します。

私の試み:

sed -e "s#*=(\w\()#\1(addition#g"

期待してくれてありがとう!

4

2 に答える 2

1

Perlで

s/(.*?=[\s][^(]+?)\((.*)/$1(aditional text $2/
于 2012-06-07T19:33:23.037 に答える
1

ニーズに合わせてこれを微調整します。

$ echo 'Variable length text = some string(some more text' |\
sed 's/^[^=]*=[^(]*[[:alnum:]][^(]*(/&addition /'

それは以下に一致します:

  1. 文字列の先頭
  2. =回でも
  3. =
  4. (回でも
  5. 英数字
  6. (回でも
  7. (

...そしてそれに追加する一致した文字列でそれを置き換えます' addition'。出力は

Variable length text = some string(addition some more text
于 2012-06-07T19:27:34.180 に答える