1

パターンを見つけて、sed のパターンの前に行を追加するのに苦労しています

sedで次のパターンを見つけたいとします

"stackov/er;flo.w users are great"

注: 検索するパターンには、ダブル クォーテーション、/、; が含まれます。そしてドット そして、パターンの直前にこの行を追加します

proud sta{ckov,er member

私の試み

1.sed "|"stackov/er;flo.w users are great"|i\proud sta{ckov,er member" file

2.

sed "/stackov/er;flo.w users are great|i\proud sta{ckov,er member" file

/ 区切り文字を | に置き換えてみました。そして / をパターンで \ でエスケープしましたが、うまくいきませんでした。

どんな助けでも大歓迎

4

2 に答える 2

3

これはうまくいくかもしれません(GNU sed):

sed '/"stackov\/er;flo\.w users are great"/i\proud sta{ckov,er member' file
于 2013-08-11T08:18:35.413 に答える
0

Windows を使用していない限り (その場合はわかりません)、基本的にsedスクリプト全体を二重引用符ではなく単一引用符で囲みます。

sed '\|"stackov/er;flo.w users are great"|i\proud sta{ckov,er member' file

二重引用符でも機能させることができますが、特に二重引用符が必要でない限り、デフォルトで単一引用符を使用する必要があります。将来も使用したい場合は、シェルのクォート動作について読んでください。

于 2013-08-11T08:16:28.803 に答える