Это, вероятно, легко, но я не могу понять это, и это в значительной степени не для поиска. В иерархии папок у меня есть ровно один файл типа xyz. Я хочу найти этот файл и открыть его с помощью команды терминала.
find . -name *.xyz
Это вернет файл, который я ищу. Теперь, как мне открыть его автоматически, не вводя имя?
find . -name *xyz | open
Это не работает Там написано, что команда open не найдена.
Ответы:
@retracile правильно. Вы должны открыть это с «чем-то». Однако я предпочитаю использовать exec вместо xargs.
find . -name '*.xyz' -exec cat {} \;
это вернет и
cat fileFound.xyz; cat fileFound2.xyx;
т. д. Однако вы ожидаете найти только один файл.обратите внимание, что переход
\;
в режим+
возврата будетcat fileFound.xyz fileFound2.xyz
зависеть от случая, когда позднее, возможно, предпочтительный вариант.подробнее об этом я бы направил вас на этот вопрос
источник
Команда, которую вы ищете, называется
xdg-open
Попробуйте свою команду с этим:
источник
Вам нужно знать, какую программу вы хотите использовать, чтобы открыть файл. Если это изображение, вы можете использовать gwenview или что-то еще.
Взятие ввода и превращение его в аргументы выполняется с помощью xargs. И вы захотите избежать этого символа ...
И обрабатывать пробелы в именах файлов ....
источник
Как уже отмечали другие, ваш вопрос недостаточно конкретен, чтобы дать четкий ответ. Итак, угадайте другое возможное значение: если вы имеете в виду, что хотите запустить его как исполняемый файл (то есть, что ваша программа является исполняемым), скажите оболочке, что вы хотите заменить вывод команды find частью командной строки. :
источник
Если вы хотите открыть все файлы, найденные на
find
отдельных вкладках в одном экземпляре vim, вы можете сделать это:источник