Come sostituire tutti i file del Finder con un file segnaposto per ciascuno

2

Ho molti file da un database che devono essere copiati in un nuovo database, ma i file per questi sono corrotti (sono di dimensione zero byte e non contengono dati). Piuttosto che il nuovo database che mostra un errore quando si incontra il file, voglio che un file di testo legga "Questo file è vuoto".

Rendere il file di testo segnaposto è semplice, ma come può essere rinominato il file per ognuna delle centinaia di file che è possibile sostituire?

I file sorgente sono numerati come 1234.txt 2345.txt 34455.txt ecc.

I file sostitutivi hanno bisogno dello stesso nome, ma tutti hanno lo stesso contenuto (messaggio) di testo specificato.

Pensavo che AppleScript potesse semplicemente registrare e ripetere le mie azioni di selezione, denominazione, copia di file, duplicazione, spostamento, ecc. ma che non funzionava (AppleScript non si è nemmeno accorto che selezionassi i file).

Pensavo di poterlo fare anche con Automator, ma sorprendentemente non trovavo alcuna funzione di rinomina che sostituisse il nome del file con il testo copiato negli appunti, quindi non funzionava neanche.

So che Terminal può farlo in un attimo e ha fatto una domanda simile a quella di un anno fa altrove, ma non riesce a trovare alcuna traccia della risposta ora.

Sto usando Mac OS X 10.7.5. Qualsiasi aiuto con qualsiasi metodo è apprezzato.

    
posta Steve K 29.03.2015 - 14:04
fonte

1 risposta

1

Fondamentalmente vuoi trovare un gruppo di file vuoti (avere dimensione 0 byte) e poi cambiarne il contenuto in "Questo file è vuoto".

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

Se invece vuoi rimuoverli, esegui

cd to/wherever/the/files/are
find . -type f -size 0 -delete
    
risposta data 29.03.2015 - 16:48
fonte

Leggi altre domande sui tag