私は1行に一致し、一致する行の下に内容を配置するこのsedパターンを持っています。これが私がこれまでにしたことです:
コンテンツ:
<element
:sample1="foo"
:sample-attr="$t('foo.bar')"
>
作業順序:
sed '/:sample-attr=.*/a :new-attr="true"' file.vue
これは次のように動作し、生成します。
<element
:sample1="foo"
:sample-attr="$t('foo.bar')"
:new-attr="true"
>
ただし、一部のファイルには複数行属性があります。良い:
:sample-attr="
$t('foo.bar')
"
オプションの改行文字と一致するようにsedパターンを調整するのに役立ちます。ありがとう
ベストアンサー1
これは両方のケースで機能します。
$ perl -0pe 's/(\s*):sample-attr="[^"]+"/$&$1:new-attr="true"/' file
<element
:sample1="foo"
:sample-attr="$t('foo.bar')"
:new-attr="true"
>
あなたはperl -i -pe
それを置き換えることができます待ち行列(即時)