Да, но только до максимального количества виртуальных ЦП в определении виртуальной машины. Увеличение максимального числа требует завершения работы.
Например, эта виртуальная машина имеет два виртуальных ЦП с максимальным числом 8. Если число превышает 8, требуется завершение работы.
<vcpu placement='static' current='2'>8</vcpu>
Сначала попробуйте это без файла mv
, чтобы проверить, соответствуют ли новые созданные файлы .out
тому, что вы хотите. В отношении -включите операцию mv
для перезаписи исходных файлов.
for file in webform.webform.*; do
awk '/^ email_webdev:$/{n=42}{if(!n){print}else{n--}}' "$file" > "$file.out"
mv -- "$file.out" "$file"
done
Сценарий awk обнаруживает строку точно так:
email_webdev:
То есть два пробела, email_webdev:
, конец -символа строки -.
Как только эта строка обнаружена, устанавливается значение n=42
, что останавливает печать строк, а затем снова начинает печать только после подсчета 42 строк.
Для этого можно использовать редактор строк ex
.
for f in webform.webform.*; do
printf '%s\n' /email_webdev:/.,+41d x | ex -s "$f"
end
Рабочий:
ed
/ ex
, если размеры файлов не велики, потому что они поддерживают широкий спектр режимов адресации строк. printf
выдает код ex
редактора, который ex
считывает свой стандартный ввод и применяет ко входному файлу. email_webdev
текущей строкой, выполнив поиск:/email_webdev:/
. .,.+41d
. x
PS :Диапазон 179 -214 не 42 строки.