パターンを見つけてキーが見つかったら、配列間に追加

パターンを見つけてキーが見つかったら、配列間に追加

PHP設定ファイルがありますが、スクリプトを介して変更したいと思います。構成ファイルには、変更する必要のある複数のブロックが含まれています。ブロックには次のコンテンツが含まれます。

'KEYWORD1' =>
  array (
    Random text here
  ),

数ブロック:

'KEYWORD2' =>
  array (
    Random text here
  ),

arrayに基づいていくつかのKEYWORDテキストを追加できるかどうかを知りたいです。

このスクリプトの出力例は次のとおりです。

'KEYWORD2' =>
  array (
    'enable' => true,
    'email' => false,
  ),

理想的には、キーワードを見つけて一致する場合にのみテキストを追加できます。例:KEYWORD1上記のブロックのようないくつかの設定を検索して追加します。

どのようなヒントがありますか?アイデアはありますか?

ベストアンサー1

KEYWORD2をテストしましたが、うまくいきます。ループにキーワードを追加して変更したいです。

for i in KEYWORD2
do
sed -n  '/'$i'/,/),/p' l.txt|sed "s/array.*/&\n'enable' => true,\n'email' => false,/g"| sed '/Random/d'
done

出力

'KEYWORD2' =>
  array (
'enable' => true,
'email' => false,
  ),

================================================== ==========キーワード1とキーワード2を同時に変更したいとしましょう。

次のコードを使用してください

for i in KEYWORD1 KEYWORD2;
 do
sed -n  '/'$i'/,/),/p' l.txt|sed "s/array.*/&\n'enable' => true,\n'email' => false,/g"| sed '/Random/d'
done

おすすめ記事