find /test -type d -mtime +1| egrep -v '^/test$'|xargs -I{} rm -rf {}
Приносим свои извинения пользователю, сообщившему о двойных -кавычках. Дальнейшее тестирование показывает, что это не проблема UNIX
, а, возможно, проблема Mac
. Каким-то образом копирование и вставка всего пути в команду и заключение его в двойные кавычки произвело что-то, что выглядело идентично оригиналу, но теперь я думаю, что каким-то образом это должно было быть иначе.
Если я вставлял путь по частям и проверял каждую часть, создавая путь, соответствующий исходному, то проблема исчезала. Правильный синтаксис UNIX
для ответа на оба вопроса (перечислите папку и используйте подстановочный знак, как в примере вопроса ), ответы будут выглядеть так:
ls "Volumes/My Backup Dr/Backups.backupdb/User’s MacBook Pro/2018-03-10-011602"
ls "Volumes/My Backup Dr/Backups.backupdb/User’s MacBook Pro/2018-03-"*
Во втором примере перечислялось бы все содержимое папок марша на моем резервном диске. Обратите внимание, что *
должен быть вне шаблона каталога с двойными кавычками -.