У меня есть каталог с несколькими файлами PHP на нескольких уровнях. Я хочу выполнить следующую команду для всех этих файлов PHP.xargs и позиция аргумента
php ../../i18n/add-textdomain.php -i bulk-delete file_name.php
Итак, я написал следующую команду find
и водопроводной его xargs
find . -iname "*.php" -type f -print0| xargs -0 php ../../i18n/add-textdomain.php -i bulk-delete
Команда php
ожидает, что файл PHP быть последним аргументом. Я предположил, что xargs
добавит файлы, перечисленные find
в конце. Но это, похоже, не происходит.
Как сообщить xargs
, чтобы добавить аргументы в конце команды?
'xargs' добавляет элементы в' stdin' до конца команды по умолчанию. Вы можете использовать '-I', чтобы переопределить это, но кажется, что что-то еще не так для вас. Вам нужен только один файл PHP для каждой команды? Если это так, используйте '-n 1'. –
@MichaelBurr Кажется, проблема не в позиции, но мне нужен один файл за команду. Я добавил '-n1', как вы предложили, и теперь он работает. Можете ли вы опубликовать его в качестве ответа, чтобы я мог его принять? – Sudar