Переименовать папку с нечетными символами

С zsh :

typeset -A greatest
for f (*-*(n)) greatest[${f%-*}]=$f
cp -- $greatest /destination
  • * - * (n) : нескрытые файлы, имена которых содержат - ( * - * ), отсортировано численно ( (n) квалификатор glob).
  • $ {f% - *} : часть имени файла до самого правого - (или до конца, если нет - ).
  • $ maximum : расширяется до непустых значений ассоциативных массивов. Таким образом, здесь для файлов с одним и тем же корнем будет расширен только файл с наибольшим номером.
5
28.02.2019, 18:49
4 ответа

Согласно https://apple.stackexchange.com/questions/31734/hfs-private-directory-data эта папка используется для внутренней работы файловой системы. Вы, вероятно, не сможете удалить его, и даже если бы вы могли, это, скорее всего, заблокировало бы вашу файловую систему.

3
27.01.2020, 20:39

Я знаю, что это уже решено для OP, но для всех, кто наткнулся на этот вопрос, это, похоже, проблема только для версии 10.11 El Capitan. Я пробовал и смог удалить файлы с этим символом в OS X 10.4 Tiger и OS X 10.10 Yosemite, поэтому он, скорее всего, работает с другими.

1
27.01.2020, 20:39

Я потратил некоторое время на поддержку Apple, и они сказали мне, что единственный ответ - сделать резервную копию моего тома Time Machine, стереть исходный том, создать новую учетную запись пользователя, а затем выборочно скопируйте все мои файлы вручную из резервной копии Time Machine. Осознавая, что это повлечет за собой восстановление моей чудесно сложной учетной записи со всеми моими предпочтениями, настройками, авторизацией программного обеспечения, скриптами, удобными утилитами и т. Д., Я не хотел этого делать, поэтому у меня появилась другая идея, которая сработала для меня.

Я решил, что могу переместить непосредственную папку над файлом, который невозможно удалить, поэтому я загнал все файлы, которые у меня были, с нулевыми символами, которые ничто не позволяло мне удалить, в другую папку, а затем создал клонер Carbon Copy. клонировать весь мой загрузочный жесткий диск, но исключая папку с подлежащими удалению файлами. Затем я загрузился с этого диска, переформатировал свой исходный диск и восстановил клон без файлов, которые нельзя удалить.

Когда кто-нибудь придумает, как заставить различные ОС на базе Unix работать с этими именами файлов, мы все будем очень счастливы, но пока что CCC мне на помощь.

0
27.01.2020, 20:39

Просто для справки:

Папка «␀␀␀␀Частные данные HFS+» — это специальная папка HFS+, которая используется для хранения фактических данных файла -и метаданных -для жестко -связанных файлов.

Таким образом, множественные записи каталога -указывают на «файл» в этом скрытом каталоге, который, в свою очередь, содержит данные и атрибуты фактического файла -.

У него есть некоторые специальные атрибуты, такие как четыре начальных символа ZERO в имени, а также несколько других битов в его метаданных -, что делает маловероятным, что конечный -пользователь когда-либо «увидит» его. при обычном использовании.

При обнаружении в какой-либо резервной копии (поэтому нет активной копии )в качестве видимой папки, вы можете безопасно удалить ее, если система позволяет вам это сделать (возможно, после низкоуровневого -переименования с помощью шестнадцатеричного -Редактор или другой инструмент.

Существует аналогичный скрытый файл под названием «.HFS+ Private Directory Data», который используется для хранения жесткой -информации о ссылках на папки.

1
27.01.2020, 20:39

Теги

Похожие вопросы