Вы можете использовать perl
, довольно мощный текстовый манипулятор:
perl -pi -e 's/(^ver="\d+)\.(\d+)\.(\d+)"/"$1.$2.". sprintf("%04d", $3+1). "\""/e' input
Это вызывает perl с тремя параметрами:
-p
--авто -печать каждой строки ввода -i
--отредактируйте файл в -месте -e
--используйте следующий аргумент в качестве кода для выполнения В коде сказано выполнять поиск и замену в каждой строке ввода; часть «поиск» будет соответствовать только строкам, которые:
ver="
\d+
означает "совпадение цифр один или несколько раз").
,который должен быть экранирован для правил регулярных выражений .
Элементы #1 и #2 сгруппированы вместе в круглых скобках как текст замены $1
; элемент #4 является текстом замены $2
, а элемент #6 становится текстом замены $3. Прежде чем вернуть $3
на место, мы отправляем его через форматированный оператор печати, который добавляет единицу к значению.
Поскольку при замене нам нужно выполнить код perl, нам нужна опция e
в конце s///
. Мы также должны добавить в конце двойную кавычку -, которая требуется как элемент #7.
Вы можете сузить или ослабить это регулярное выражение различными способами; возможно, вы могли бы потребовать, чтобы соответствующая строка «ver» была единственной вещью в строке, и в этом случае вы должны добавить $
конец -из -привязки строки после двойной кавычки -в элементе #7.
Обязательно установите пакет расширений и включите поддержку USB3 для гостя. Даже если устройство представляет собой обычный старый USB1/2, оно не будет работать на гостевой машине, пока не включена поддержка USB3.
Я полагаю, что это ошибка в Virtual Box, из-за которой у меня появилось несколько седых волос, пока я не понял.
Вся информация в приведенной выше статье точно описывает шаги, необходимые для установления совместного использования USB на виртуальной машине.
Одна вещь, которая не была упомянута, заключалась в том, что ОС хоста должна быть обновлена, чтобы распознавались обновления членства в группе.
Спасибо schrodigerscatcuriosity за помощь.