У меня есть много файлов из базы данных, которые нужно скопировать в новую базу данных, но файлы для них повреждены (они имеют размер 0 байт и не содержат данных). Вместо новой базы данных, показывающей ошибку при обнаружении файла, я хочу, чтобы текстовый файл читал «Этот файл пуст».
Создать текстовый файл-заполнитель несложно, но как переименовать файл для каждого из потенциально сотен файлов, которые он должен заменить?
Исходные файлы пронумерованы как 1234.txt 2345.txt 34455.txt и т. д.
Файлы замены должны иметь одно и то же имя, но все они должны иметь точно такое же содержание (сообщение), которое я укажу.
Я думал, что AppleScript может просто записывать и повторять мои действия по выбору файлов, копированию имен, удалению файлов, дублированию, перемещению и т. д., но это не сработало (AppleScript даже не заметил, как я выбираю файлы).
Я думал, что смогу сделать это и с Automator, но, к удивлению, не смог найти функцию переименования, которая заменяла бы имя файла текстом, скопированным в буфер обмена, так что это тоже не сработало.
Я знаю, что Терминал может сделать это мгновенно, и примерно год назад задавал аналогичный вопрос в другом месте, но сейчас не могу найти никаких записей с ответом.
Я использую Mac OS X 10.7.5. Любая помощь с использованием любого метода приветствуется.
В основном вы хотите найти кучу файлов, которые пусты (имеют размер 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
грг
Вик
Маркханте
Стив К.