Непонятно, чего вы на самом деле хотите ... Возможно, вы получите лучшее решение своей проблемы, если попросите об этом напрямую, а не о другой проблеме, с которой вы столкнулись, пытаясь обойти исходную проблему.
Вы имеете в виду что-то вроде следующего?
file */*
где первый *
раскрывается для всех подкаталогов, а второй *
для всех содержащихся файлов?
Я выбрал команду file
произвольно. Вы можете выбрать любую команду, которую хотите запустить для файлов, которые вы раскрываете в оболочке.
Также обратите внимание, что каталоги также будут включены (если не исключены по имени, например, *.png
или *.txt
).
Подстановочный знак *
не совсем путь к файлу для включения всех файлов во все подкаталоги , но он распространяется на все файлы (или каталоги), соответствующие выражению подстановочного знака в виде списка, например, file1 file2 file3 file4
. См. Также это руководство по расширению оболочки .
Обратите внимание, что могут быть простые решения связанных проблем. Как скопировать все файлы во всех подкаталогах (например, cp -a
, см. man cp
).
Мне тоже очень нравится find
. Довольно просто создать более гибкие шаблоны поиска в сочетании с grep
. Чтобы привести случайный пример:
du `find . | grep some_pattern_to_occur | grep -v some_pattern_to_not_occur`