Заменить *\n.*\n= с помощью sed

En caso de que mi respuesta anterior no funcione para el OP, aquí hay otra solución que requiere la instalación de VirtualBox .

  1. Abra la utilidad de administración de discos ejecutando diskmgmt.mscdesde un símbolo del sistema.
  2. Busque el número de disco del disco en el que desea instalar Debian. En este caso el número es 1.
    enter image description here
  3. 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.

  4. 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)

  5. ¡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.

  6. 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.

  7. 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/)

1
25.07.2019, 17:08
1 ответ

Проблема в том, что sedработает со строкой -за строкой -, поэтому ваш многострочный шаблон -никогда не будет совпадать. Если вы используете GNU sed, вы можете использовать опцию -zдля работы со всеми строками в одном буфере :

.
sed -z 's/\*[^=]*=//g' filename.txt

Обратите внимание, что я также изменил ваш код. :Поскольку *является жадным, он съест все строки до последней =при использовании .*, поэтому я изменил его на [^=]*, который остановитесь на следующем =.

Без опции -zвам нужно собрать весь файл в один буфер самостоятельно. Обычно я собираю все в пространстве хранения и обмениваю пространство удержания и пространство шаблона на последнюю строку :

.
sed 'H;1h;$!d;x;s/\*[^=]*=//g'
  • Hдобавляет каждую строку в пробел
  • 1hперезаписывает пробел текущей строкой, чтобы избежать добавления новой строки в начало файла
  • $!dудаляет все строки, кроме последней, и останавливает дальнейшую обработку этих строк
  • xи последующие выполняются только для последней строки и меняют местами оба пробела, поэтому весь файл, который был собран в резервном пространстве, теперь находится в пространстве шаблона
1
27.01.2020, 23:41

Теги

Похожие вопросы