説明する

説明する

lvm.confファイル内の文字列で始まる行を見つけ、角かっこの間のglobal_filterすべての項目を削除する必要があります("r/.*/"

global_filterで始まる行は1つだけです。

分解する前に:

global_filter = [ "a|^/dev/sda.*$|", "a|^/dev/sdb.*$|", "r/.*/"]

削除後は、次のようにする必要があります。

global_filter = [, "r/.*/"]

ベストアンサー1

sed -i -e '/^global_filter/{\|"r/\.\*/"|s|.*|global_filter = [, "r/.*/"]|;}' data

説明する

sed -i -e '
   # look at only lines that begin with global_filter
   /^global_filter/{
      # and also they should contain the string "r/.*/"
      # change everything to the following expression
      \|"r/\.\*/"| s|.*|global_filter = [, "r/.*/"]|

      ## alternatively could be written:
      #\|"r/\.\*/"|c\
#global_filter = [, "r/.*/"]
   }
' data

おすすめ記事