¿Tiene un fragmento de código que debe insertarse en varios archivos? Entonces, ¡eres como yo pasando por un momento difícil! Estaba trabajando en un sitio web alojado en cpanel que tenía numerosos archivos HTML en cada uno de los cuales se debía insertar un código emergente. La cantidad de archivos HTML fue de 425. Fue una pesadilla hacerlo en Windows. Pero oye, ¿no te dije que encontré una forma más inteligente de hacerlo? ¡Compruebe a continuación!
Paso 1:Copiar archivos desde CPANEL
Copie todos los archivos de cpanel a su sistema de Windows local usando WinSCP.
Paso 2:Copiar archivos de Windows a Linux
Luego copie los archivos HTML a un servidor Linux. Si no tiene un servidor propio, puede ejecutar un sistema Linux virtualmente en su escritorio usando virtualbox. Vea cómo instalar virtualbox aquí.
Paso 3:Use el comando 'sed' para insertar código
Use el siguiente comando sed para insertar su código desde otro archivo. Por ejemplo:datos que se insertarán desde el archivo "add.txt" en "input.txt". Ahora el comando sería:
Entrada.txt
abcd efgh ijkl mnop qrst
añadir.txt
uvwx yzab cdef ghij klmn
$sed '/ijkl/r add.txt' input.txt
El comando agregaría el contenido de add.txt a input.txt después de que coincida el patrón "ijkl". Entonces la salida sería:
abcd efgh ijkl uvwx yzab cdef ghij klmn mnop qrst
El comando anterior generaría el contenido en la terminal. Para actualizar el archivo con el contenido, utilice el comando "-i" con sed como se muestra a continuación:
$sed -i '/ijkl/r add.txt' input.txt
Si tiene que insertar contenido ingresando directamente y no desde el archivo, puede usar el siguiente comando:
$sed -i 's/.*ijkl.*/uvwx\n&/' input.txt
abcd efgh ijkl uvwx mnop qrst
Paso 4:Ejecutar el comando anterior en un bucle con el número de archivos
Ir al directorio donde se deben modificar los archivos. Use "for loop" inserte los datos con el siguiente comando:
for i in *; do $sed '/ijkl/r add.txt' $i done
En el código anterior * representa los archivos. Para cada archivo, como $i, agregue el contenido del archivo add.txt después de que coincida el patrón "ijkl".
Paso 5:Copiar los archivos de Linux a Windows a Cpanel
El paso final es volver a copiar los archivos editados del servidor Linux al sistema de Windows local. Y luego use scp o ftp para copiar archivos del sistema de Windows local a cpanel.