Это может быть сделано легко с хорошей комбинацией sed и xargs.
find . -name "*.php" | xargs -n 1 echo
покажет Вам питание xargs.
После этого, на файле примера, можно протестировать regexp с оперативным изменением (-i) или резервным изменением (-i.bak). Можно также использовать другой символ для замены '/', если шаблон/замена уже имеет тот.
В конце это должно быть похожим:
pattern=`cat /path/to/pattern`; replacement=`cat /path/to/replacement`
find . -name "*.php" | xargs -n 1 sed -i -e 's|$pattern|$replacement|g'
Не может думать ни о каком виде простого способа сделать это. Хлеставший следующее вместе, хотя это не особенно изящно.
sed '/^\[.*\]/s,\[,\n<<[,' /etc/yum.repos.d/*.repo |
awk '
BEGIN {
RS = "\n<<"
}
/\nenabled=1/ && !/\ngpgcheck=1/ {
print $1"~gpgcheck disabled for enabled repo"
}
/\nenabled=1/ && /\ngpgcheck=1/ && !/\ngpgkey=/ {
print $1"~gpgcheck enabled for enabled repo, but missing gpgkey setting"
}
/\nenabled=1/ && /\ngpgcheck=1/ && /\ngpgkey=/ {
print $1"~gpgcheck enabled for enabled repo, see output below for gpgkey file status"
}
' | column -ts~
printf "\nChecking gpg keys for enabled repos\n"
sed '/^\[.*\]/s,\[,\n<<[,' /etc/yum.repos.d/*.repo |
awk '
BEGIN {
RS = "\n<<"
}
/\nenabled=1/ && /\ngpgcheck=1/ && /\ngpgkey=/
' |
awk -F: /^gpgkey=/{print\$2} |
xargs ls -l
Бросьте его в сценарий, и Вы выключены.