En caso de que mi respuesta anterior no funcione para el OP, aquí hay otra solución que requiere la instalación de VirtualBox .
diskmgmt.msc
desde un símbolo del sistema. Ejecute los siguientes comandos desde un símbolo del sistema administrativo (Asegúrese de reemplazar #con el número de la unidad que encontró anteriormente):
cd %programfiles%\Oracle\VirtualBox
VBoxManage internalcommands createrawvmdk -filename C:\debian.vmdk -rawdisk \\.\PhysicalDrive#
Esto cambia el directorio al directorio donde está instalado VirutalBox y crea un archivo VMDK para VirtualBox (en C:\debian.vmdk
), que es un enlace directo a la unidad física.
Ejecute VirtualBox como administrador (necesario para acceder al disco duro RAW ). Luego cree una nueva máquina virtual.
Seleccione Debian como el tipo de sistema operativo y las otras opciones (excepto elegir un archivo de disco. )puede quedarse solo si lo desea.
Cuando llegue a la página de elegir un disco duro, asegúrese de seleccionar elegir un disco duro existente y busque el archivo que creamos anteriormente. (Si ejecutó los comandos línea por línea,el archivo debe estar ubicado enC:\debian.vmdk
)
¡Omita este paso si no está instalando Debian para una máquina UEFI!
Seleccione la máquina virtual que acabamos de crear y haga clic en configuración.
Desde allí, haga clic en System
, luego seleccione Enable EFI
.
Luego haga clic en Aceptar.
Seleccione la máquina virtual, luego haga clic en Start
.
Cuando le solicite que seleccione un archivo de imagen para iniciar su máquina virtual, seleccione la ISO de instalación de Debian que descargó anteriormente.
Siga el proceso de instalación de Debian, luego, una vez que haya terminado, puede apagar su computadora y quitar el disco duro y volver a colocarlo en el servidor.
Ahora debería poder arrancar desde el disco duro interno e iniciar Debian.
(Tutorial adaptado dehttps://www.howtogeek.com/187721/how-to-boot-from-a-usb-drive-in-virtualbox/)
Проблема в том, что sed
работает со строкой -за строкой -, поэтому ваш многострочный шаблон -никогда не будет совпадать. Если вы используете GNU sed
, вы можете использовать опцию -z
для работы со всеми строками в одном буфере :
sed -z 's/\*[^=]*=//g' filename.txt
Обратите внимание, что я также изменил ваш код. :Поскольку *
является жадным, он съест все строки до последней =
при использовании .*
, поэтому я изменил его на [^=]*
, который остановитесь на следующем =
.
Без опции -z
вам нужно собрать весь файл в один буфер самостоятельно. Обычно я собираю все в пространстве хранения и обмениваю пространство удержания и пространство шаблона на последнюю строку :
sed 'H;1h;$!d;x;s/\*[^=]*=//g'
H
добавляет каждую строку в пробел 1h
перезаписывает пробел текущей строкой, чтобы избежать добавления новой строки в начало файла $!d
удаляет все строки, кроме последней, и останавливает дальнейшую обработку этих строк x
и последующие выполняются только для последней строки и меняют местами оба пробела, поэтому весь файл, который был собран в резервном пространстве, теперь находится в пространстве шаблона