Проблема с редактированием двоичных файлов состоит в том, что они часто размечаются в конкретном формате с положением конкретных байтов, имеющих значение. Так пытаясь автоматизировать, который может быть очень трудным и должен, вероятно, быть сделан с инструментом, который понимает формат файла.
Следующий сценарий Bash может использоваться для редактирования текстовых файлов:
#!/bin/bash
while read -r file
do
{
tempfile=$(tempfile) || tempfile=$(mktemp) || { tempfile="/tmp/tmpfile.$$" && touch "$tempfile"; } &&
sed 's/original text/new text/g' "$file" > "$tempfile" &&
mv "$tempfile" "$file"
} || echo "Edit failed for $file"
done < <(find . -type f)
или измените вторые и последние строки на:
find . -type f | while
и
done
Если Ваша версия sed
может сделать оперативное редактирование, затем можно устранить создание временных файлов (все между do
и done
выше) и использование это sed
управляйте в цикле вместо этого:
sed -i 's/original text/new text/g' "$file"
Позор мне! Я поместил директивы конфигурации ультрасовременной безопасности прежде (и не после):
# Include module configuration:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
таким образом, ультрасовременный модуль безопасности не был загружен на самом деле! Теперь, когда я поместил директивы ультрасовременной безопасности ниже их, ультрасовременная безопасность загружается, и она регистрируется в соответствующие файлы. Проблема решена.