Cómo reemplazar todos los archivos del Finder con un archivo de marcador de posición para cada uno

2

Tengo muchos archivos de una base de datos que se copiarán a una nueva base de datos, pero los archivos de estos están dañados (tienen un tamaño de cero bytes y no contienen datos). En lugar de que la nueva base de datos muestre un error cuando se encuentra el archivo, quiero un archivo de texto que diga "Este archivo está vacío".

Hacer el archivo de texto de marcador de posición es fácil, pero ¿cómo se puede cambiar el nombre del archivo para cada uno de los cientos de archivos potencialmente para reemplazar?

Los archivos de origen están numerados como 1234.txt 2345.txt 34455.txt, etc.

Los archivos de reemplazo necesitan el mismo nombre, pero todos deben tener exactamente el mismo contenido (mensaje) que especifico.

Pensé que AppleScript podía simplemente grabar y repetir mis acciones de selección de archivos, copia de nombres, eliminación de archivos, duplicación, movimiento, etc., pero eso no funcionó (AppleScript ni siquiera me notó cuando seleccionaba los archivos).

Pensé que también podría hacerlo con Automator, pero sorprendentemente no podría encontrar una función de cambio de nombre que reemplazara el nombre del archivo con texto copiado en el portapapeles, por lo que tampoco funcionó.

Sé que Terminal puede hacer esto en un instante y he hecho una pregunta similar como esta hace un año en otro lugar, pero ahora no puedo encontrar ningún registro de la respuesta.

Estoy usando Mac OS X 10.7.5. Cualquier ayuda con cualquier método es apreciada.

    
pregunta Steve K 29.03.2015 - 14:04

1 respuesta

1

Básicamente, desea buscar un montón de archivos que están vacíos (tienen un tamaño de 0 bytes) y luego cambiar su contenido a "Este archivo está vacío".

cd to/wherever/the/files/are
find . -type f -size 0 -print | while IFS= read -r line; do
    echo "This file is empty" > "$line"
done

Si, en cambio, desea eliminarlos, ejecute

cd to/wherever/the/files/are
find . -type f -size 0 -delete
    
respondido por el nohillside 29.03.2015 - 16:48

Lea otras preguntas en las etiquetas