Я хочу выполнить подстроку в файле .sh и извлечь список cmds и добавить к нему существующий файл.
Пока что я использую perl -ne
, и он работает с последним найденным значениемотображается на экране как
echo 'declare -a org_val=($(chkconfig --list autofs) $(grep "^PROMPT="/etc/sysconfig/init)' |
perl -pe 's|.*\$\((.*?)\)\s+|\1|g'
Ниже приведен вывод вышеуказанной команды:
grep `"^PROMPT=" /etc/sysconfig/init`
Я также хочу, чтобы она вывела
chkconfig --list autofs
То, что я сделал, былозаписать небольшой .sh и сохранить результаты sed в массиве, используя подстановку команд ниже
#!/bin/bash
nl='\n'
declare -a array0
while IFS=$nl read -r line
do
array0+=$line
#echo $line
done < <( perl -pe 's|.*\$\((.*?)\)\s+|\1|g') < /tmp/sunny
echo "${array0[@]}"
Выход выше
declare -a org_val=($(chkconfig --list autofs) $(grep "^PROMPT=" /etc/sysconfig/init)
содержимое /tmp/sunny
is
declare -a org_val=($(chkconfig --list autofs) $(grep "^PROMPT=" /etc/sysconfig/init) )