Разобравшись с ответом ecmanaut, вы можете немного автоматизировать это:
mdfind -name synergy | grep -v .webhistory | tr '\n' '\0' | xargs -p -0 -n 1 rm -rf --
Как и прежде, mdfind -name synergy
генерирует список файлов (потенциально) связанных с Synergy.
| grep -v .webhistory
отфильтровывает совпадения истории Safari, так как вы можете сохранить историю просмотров.
| tr '\n' '\0'
заменяет новые строки в выводе вместо нулевых значений. Это необходимо для правильной обработки списка файлов в xargs
если он содержит пробелы (т. Е. .../Application Support/...
).
| xargs -p -0 -n 1 rm -rf --
возьмет каждый файл или папку, указанные в первой части команды, и выполнит rm -rf
чтобы удалить его. В частности, -p
просит пользователя подтвердить каждое удаление (потому что, если у вас есть несвязанный файл, такой как ~/Documents/Important business study on synergy.tex
который будет отображаться в списке файлов). -0
указывает xargs
использовать только нулевые символы, которые мы вставили с tr
(не пробелы или переводы строки), чтобы обозначить имена файлов. -n 1
обрабатывает файлы по отдельности - вместо того, чтобы вызывать rm
один раз для всей их части - что позволяет пользователю самостоятельно решать, удалять ли каждый файл. --
в конце охватывает крайний случай, когда имя файла начинается с -
и не позволяет rm
рассматривать его как переключатель.
(Я не нашел никаких файлов Synergy за пределами моей домашней папки, но я удалял Synergy 1.7.4 из Mac OS X 10.11.1, поэтому ваш пробег может отличаться, и вы можете обнаружить, что rm
должен предшествовать sudo
чтобы чтобы получить все.)
Кроме того, если вам не нужна фильтрация результатов .webhistory
, это можно упростить до:
mdfind -0 -name synergy | xargs -p -0 -n 1 rm -rf --
используя mdfind
для вставки нулевых разделителей.