Как заменить все файлы Finder файлом-заполнителем для каждого

У меня есть много файлов из базы данных, которые нужно скопировать в новую базу данных, но файлы для них повреждены (они имеют размер 0 байт и не содержат данных). Вместо новой базы данных, показывающей ошибку при обнаружении файла, я хочу, чтобы текстовый файл читал «Этот файл пуст».

Создать текстовый файл-заполнитель несложно, но как переименовать файл для каждого из потенциально сотен файлов, которые он должен заменить?

Исходные файлы пронумерованы как 1234.txt 2345.txt 34455.txt и т. д.

Файлы замены должны иметь одно и то же имя, но все они должны иметь точно такое же содержание (сообщение), которое я укажу.

Я думал, что AppleScript может просто записывать и повторять мои действия по выбору файлов, копированию имен, удалению файлов, дублированию, перемещению и т. д., но это не сработало (AppleScript даже не заметил, как я выбираю файлы).

Я думал, что смогу сделать это и с Automator, но, к удивлению, не смог найти функцию переименования, которая заменяла бы имя файла текстом, скопированным в буфер обмена, так что это тоже не сработало.

Я знаю, что Терминал может сделать это мгновенно, и примерно год назад задавал аналогичный вопрос в другом месте, но сейчас не могу найти никаких записей с ответом.

Я использую Mac OS X 10.7.5. Любая помощь с использованием любого метода приветствуется.

Все ваши предыдущие вопросы и последующие ответы на них можно найти, нажав на свой аватар в верхней панели .
Почему бы вам в Finder просто не отсортировать файлы по размеру и не переместить их в другой каталог или не удалить?
Вы можете сделать это в Applescript, Shell или Automator. Но @Patrix дал хороший пример, который записывает текст в реальные файлы. Но если вы хотите сделать это из выбора в поисковике (безопаснее), то спросите, и я уверен, что его пример можно адаптировать.
С Finder легко определить и поместить файлы в папку для обработки. Некоторые файлы повреждены по разным причинам и должны быть заменены текстовым файлом-заполнителем, указывающим, почему исходный файл был удален. Без заполнителя новая база данных потеряет ссылку на файл, и когда она попытается показать его, может просто выдать ошибку, за которую меня могут обвинить. Мне нужна помощь, чтобы заменить каждый из шатких файлов одним и тем же текстовым файлом с именем «placeholder.txt» (например). Однако исходное имя шаткого файла должно быть сохранено.

Ответы (1)

В основном вы хотите найти кучу файлов, которые пусты (имеют размер 0 байт), а затем изменить их содержимое на «Этот файл пуст».

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

Если вместо этого вы хотите удалить их, запустите

cd to/wherever/the/files/are
find . -type f -size 0 -delete
Это работает только с файлами с очень простыми именами (без пробелов, без разрывов строк и т. д.) - не проблема, учитывая конкретный вопрос, но другие читатели должны знать об этом.
упс, точно. исправлено, спасибо, что напомнили :-)