3 votos

Automatizar las ediciones de texto de archivo

Tengo un sitio web en línea que me gustaría pasar a una nueva URL. Por lo tanto necesito para editar todos los sitio web de los archivos html (100+ archivos) para actualizar la dirección URL de los enlaces dentro de cada archivo de este sitio web.

Estoy pensando en hacer una copia de los archivos del sitio web para editar.

Es posible el uso de Automator OS X a - abrir cada archivo en el sitio web de la carpeta de archivo - buscar dentro del contenido del archivo de una dirección URL específica enlace (decir "www.website.com") y el cambio a la nueva URL (decir "www.website.com/old")?

Otra cosa, necesito confiar en un editor de texto + Automator para hacer este proceso?

O, ¿se puede hacer mediante un script de UNIX que ejecuta en la Terminal ?

Gracias por cualquier consejo sobre cómo llevar a cabo este proceso!

3voto

Suponiendo que todos los archivos están en la misma carpeta:

 mkdir new
for i in *.html; do
    sed 's|website.com|website.com/old|g' "$i" > "new/$i"
done
 

2voto

Darth_Vader Puntos 138

Si usted está comúnmente edición de la página web el contenido del archivo que usted debe invertir en un editor.

Sublime Text 2

Colocar el sitio web en el icono y se va a construir el proyecto:

enter image description here

ejecutar cmdcambio deF y escriba el reemplazo:

enter image description here

Haga clic en la Replace botón y compruebe la Replace:

enter image description here

Se va a abrir y cambiar todos los archivos:

enter image description here


BBEdit

Es un excelente y una aplicación robusta, yo principalmente uso para la edición de código. Arrastre y suelte la carpeta en BBEdit y vaya a File -> Save Project y se creará un archivo con el nombre foobar.bbprojectd:

enter image description here

ejecutar cmdcambio deF y seleccione el proyecto con la sustitución de los parámetros:

enter image description here

Se le pedirá que después de hacer clic en Replace All:

enter image description here

Si usted no está seguro de los cambios seleccione Leave Open porque si selecciona Save to disk es muy difícil de revertir.


Perl

Ya hay un sed solución, pero también se podría hacer lo mismo con Perl:

# !/bin/bash

DIR="/Users/vader/desktop/test"
NEW="$DIR/new"

if [ ! -e "$DIR/new" ]; then 
    mkdir -p new
    echo "made folder new"
else
    echo "folder exists"
fi

for htmlfile in $(ls "$DIR"/*.html); do
    TEMPFILE="$htmlfile.$$"
    htmlbase=$(basename $htmlfile)
    echo "Working on "$htmlbase
    perl -pe 's|www.website.com|www.website.com\/old|g' "$htmlfile" > $TEMPFILE && mv $TEMPFILE "$NEW/$htmlbase"
done

Hay otros editores por ahí, pero estos son los dos que yo principalmente uso. También puedes hacer esto en pura AppleScript, pero no ha mostrado ningún código y el mencionado terminal así que he hecho lo anterior en Perl.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X