2 votes

Comment remplacer tous les fichiers du Finder par un fichier de remplacement pour chacun d'entre eux ?

J'ai beaucoup de fichiers d'une base de données qui doivent être copiés dans une nouvelle base de données, mais les fichiers de ces fichiers sont corrompus (ils ont une taille de zéro octet et ne contiennent aucune donnée). Au lieu que la nouvelle base de données affiche une erreur lorsque le fichier est rencontré, je veux qu'un fichier texte indique "Ce fichier est vide".

Il est facile de créer un fichier texte de remplacement, mais comment renommer ce fichier pour chacun des centaines de fichiers qu'il doit remplacer ?

Les fichiers sources sont numérotés comme 1234.txt 2345.txt 34455.txt, etc.

Les fichiers de remplacement doivent porter le même nom mais doivent tous avoir exactement le même contenu (libellé du message) que je spécifie.

Je pensais qu'AppleScript pourrait simplement enregistrer et répéter mes actions de sélection de fichiers, de copie de noms, de suppression de fichiers, de duplication, de déplacement, etc. mais cela n'a pas fonctionné (AppleScript n'a même pas remarqué que je sélectionnais les fichiers).

Je pensais pouvoir le faire aussi avec Automator, mais étonnamment, je n'ai trouvé aucune fonction de renommage qui remplacerait le nom du fichier par le texte copié dans le presse-papiers, donc ça n'a pas marché non plus.

Je sais que le terminal peut faire cela en un clin d'œil et j'ai posé une question similaire il y a environ un an ailleurs, mais je ne trouve aucune trace de la réponse maintenant.

J'utilise Mac OS X 10.7.5. Toute aide, quelle que soit la méthode utilisée, sera appréciée.

1voto

nohillside Points 82672

En gros, vous voulez trouver un tas de fichiers qui sont vides (ont une taille de 0 octet) et ensuite changer leur contenu en "Ce fichier est vide".

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 vous voulez plutôt les supprimer, exécutez

cd to/wherever/the/files/are
find . -type f -size 0 -delete

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X