найдите испытывает недостаток в опции-printf, теперь что?

К сожалению, действие «Карта вызова» не поддерживается каналом Facebook. Изменение типа действия с Call на ImBack или OpenUrl для всех ваших вложений должно устранить ошибку.

Надеюсь, это поможет!

46
задан tripleee 18 March 2016 в 17:06
поделиться

4 ответа

Дело не в том, что Apple удаляет опции, а в том, что основы OS X для UNIX в основном получены (по схеме) из FreeBSD, многие части из которых можно проследить до оригинальной UNIX ... в отличие от утилит GNU, которые представляют собой повторные реализации со многими добавленными функциями.

В этом случае FreeBSD find (1) не поддерживает -printf , поэтому я не ожидаю, что OS X тоже. Вместо этого это должно работать в системе BSD-ish:

find . -print0 | xargs -0 stat -f '%i '

В системе GNU-userland произойдет сбой, однако вы должны написать xargs -0 -r stat -c '% i' потому что поведение xargs (1) и stat (1) отличается.

46
ответ дан ephemient 26 November 2019 в 20:24
поделиться

Ну, эпимент и Бендин прибили причину.

Я бы добавил, что ничто не мешает вам установить GNU find (из findutils ), если вам это нужно. Если вы используете fink , существует findutils пакет . У MacPorts тоже есть .

18
ответ дан Community 26 November 2019 в 20:24
поделиться

Ubuntu поставляется с GNU-версией find , которая более функциональна, чем Mac OS X find, принадлежащий к линии BSD .

Фактически, большинство утилит Ubuntu для работы с пользовательскими землями происходит из проекта GNU. (Таким образом, вы иногда будете слышать системы на основе Linux, называемые «GNU / Linux».)

3
ответ дан bendin 26 November 2019 в 20:24
поделиться

В качестве альтернативы вы могли бы просто

find . -type f -exec stat -f "%z %N" {} \;

Конечно, это не то, как вы делали бы то же самое в Linux, но работает для MacOS

find . -type f -exec stat -c "%s %N" {} \;

производит аналогичные (не такие же, но близкие) вывод на linux.

7
ответ дан 26 November 2019 в 20:24
поделиться
Другие вопросы по тегам:

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