Есть ли у кого-нибудь решение удалить эти файлы pesky._ и .DS_Store, которые можно получить после перемещения файлов с Mac на Linux Server?
укажите стартовый каталог и отпустите его? как/var/www/html/down...
Есть ли у кого-нибудь решение удалить эти файлы pesky._ и .DS_Store, которые можно получить после перемещения файлов с Mac на Linux Server?
укажите стартовый каталог и отпустите его? как/var/www/html/down...
перейдите в каталог и используйте:
find . -name ".DS_Store" -print0 | xargs -0 rm -rf
find . -name "._*" -print0 | xargs -0 rm -rf
Не тестировалось, сначала попробуйте их без xargs!
Вы можете заменить период после поиска с помощью каталога вместо того, чтобы сначала перейти в каталог.
find /dir/here ...
find /var/www/html \( -name '.DS_Store' -or -name '._*' \) -delete
Новый findutils поддерживает -delete, поэтому:
find . -name ".DS_Store" -delete
будет работать для вас, если у вас есть современная система POSIX. По крайней мере, он работает для меня на OS X 10.8,
Кредит @ephemient в комментарии к сообщению @X-Istence (подумал, что это было достаточно полезно, чтобы оправдать его собственный ответ).
Простая команда:
rm `find ./ -name '.DS_Store'` -rf
rm `find ./ -name '._'` -rf
Удачи!
cd /var/www/html && find . -name '.DS_Store' -print0 | xargs -0 rm
cd /var/www/html && find . -name '._*' -print0 | xargs -0 rm
Вы можете переключиться на zsh вместо bash. Это позволяет использовать ** для соответствия файлам в любом месте дерева каталогов:
$ rm /var/www/html/**/_* /var/www/html/**/.DS_Store
Вы также можете комбинировать их следующим образом:
$ rm /var/www/html/**/(_*|.DS_Store)
У Zsh есть много других функций, которых не хватает bash, но один из них стоит сделать для этого переключателя. Он доступен в большинстве (возможно, всех) дистрибутивов Linux, а также в cygwin и OS X.
Дополнительную информацию можно найти на zsh site.
find . -name "FILE-TO-FIND"-exec rm -rf {} \;
Пример для удаления "Thumbs.db" рекурсивно;
find . -iname "Thumbs.db" -print0 | xargs -0 rm -rf
Подтвердить по:
find . -iname "Thumbs.db"
Это должно теперь не отображаться ни одна из записей с "Thumbs.db" внутри текущего пути.
Лучше посмотреть, что удаляется, добавив -print в этот ответ
find /var/www/html \( -name '.DS_Store' -or -name '._*' \) -delete -print
если у вас есть Bash 4.0 ++
#!/bin/bash
shopt -s globstar
for file in /var/www/html/**/.DS_Store /var/www/html/**/._
do
echo rm "$file"
done
Несколько замечаний:
'- delete' не является рекурсивным. Так что если .TemporaryItems(папка) имеет в нем файлы, команда не работает.
Есть много этих отвратительных файлов, созданных macs: .DS_Store ._. DS_Store .TemporaryItems .apdisk
Эта одна команда адресует все из них. Сохраняет результаты поиска снова и снова для нескольких совпадений.
find /home/foo \( -name '.DS_Store' -or -name '._.DS_Store' -or -name '._*' -or -name '.TemporaryItems' -or -name '.apdisk' \) -exec rm -rf {} \;