Я пытаюсь проверить правописание весь *.md
файлы в моем текущем каталоге, но следующих сбоях команды:
>> find . -maxdepth 1 -name "*.md" | xargs -I {} aspell check {}
xargs: aspell: exited with status 255; aborting
Я предполагаю, что это вызвано тем, что aspell
требует stdin
взаимодействовать с пользователем и так или иначе xargs
не обеспечивает его. Я нашел взлом в Твиттере,
find . -maxdepth 1 -name "*.md" | xargs -n 1 xterm -e aspell check
но это открывает новый xterm каждый раз. Как я могу заставить свою исходную команду работать, как будто я должен был индивидуально работать aspell
на результатах моей команды находки?
Согласен, использование xargs
с find
избыточно, но если ввод исходит от чего-то еще, и у вас есть для использования xargs
, просто используйте-o
:
grep -rl 'draft: false' | xargs -o -n1 aspell check --sug-mode=slow
man xargs
это говорит:
-o Reopen stdin as /dev/tty in the child process before executing the command. This is useful if you want xargs to run an interactive application.