Найти шаблон и добавить между массивами, если найдено ключевое слово

Вы можете установить эти команды для запуска только с sudo и создать asksudo команду, которая отправит это пользователю(ам) root

Это может быть хорошим началом (работает только для root, когда он вошел в систему):

PS: я не тестировал, может содержать ошибки

function asksudo {
  # for users
  write root "asksudo from $(whoami):"
  write root "\"$(whoami)\" \"$(PWD)\" && $*"
}
execsudo {
  # to authorize root executes this with yes/no and the last line of the message
  if [ "$1" = "no" ]
    then
      write $2 "Your command '${*:3}' has been denied" && exit 0
      exit 1 # fails to send the message
  fi
  [[ "$1" != "yes" ]] && echo "invalid decision" && exit 1;

  cd $3 && ${*:4}
  write $2 "Your command '${*:3}' has been executed"
}
0
30.03.2018, 00:04
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
0
28.01.2020, 04:27

Теги

Похожие вопросы