Если это неправильный стек * сайта, прошу прощения, но я пытаюсь, как отправить результаты поиска в другое приложение? я пытаюсь найти все файлы * .plist и отправить их в plutil, чтобы преобразовать их в двоичный формат. Но я не знаю, как "направить" (я знаю, неверную терминологию, но она работает.) Их в plutil.

Нет, я пытаюсь конвертировать их, используя входные данные из find, потому что он рекурсивно ищет каждый список, а затем я хочу передать ВСЕ найденные списки в данной папке в plutil.

2 ответа2

2

Это стоит повторить. Если вы хотите действовать с набором файлов ...

Вам никогда не нужно направлять вывод find к чему-то другому.

Передача результатов команды, которая выдает список файлов, часто выполняется неправильно. Вам не нужно for цикла для этого, и вы не должны find … | xargs тоже.

Чтобы действовать с набором файлов, найденных с помощью find , используйте опцию -exec .

find /some/path -iname '*.plist' -exec plutil -convert xml1 '{}' \;

Здесь '{}' заменяется именем каждого найденного файла.

Если вы хотите, чтобы надежный способ передачи результатов find по конвейеру воздействовал на найденные файлы в цикле, учтите это:

find … -print0 | while IFS= read -r -d '' file
do
    plutil -convert xml1 "$file"
done
-2

Есть ли проблемы с разрешениями, мешающие вам делать это?

В противном случае попробуйте это:

https://discussions.apple.com/thread/2344258?start=0&tstart=0

ИЛИ ЖЕ

перебирая результаты `ls` в скрипте bash

-Джастин

РЕДАКТИРОВАТЬ - Добавлена еще одна ссылка, чтобы вы могли нажать на нее.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .