Я не знаю, можно ли сделать это непосредственно с ванильным ядром.
Но это должен быть вполне пролив вперед для записи простого драйвера, который использует "файл" в/proc для экспорта содержания памяти, которое требуется видеть.
Затем можно считать "файл" с простым сценарием и иметь доступ к той памяти.
Вы хотите find(1)
. Это сделает точно, что Вы хотите. Можно также указать различные условия фильтра, такие как тип файла (не включайте каталоги), более новый, чем метка времени на данном файле и т.д. Страница справочника опишет их более подробно.
Кроме того, смотрите на -exec
опция; Вы можете использовать это вместо того, чтобы выполнить итерации по выводу.
При использовании удара ≥4 или zsh или ksh93 ≥o+1 можно заставить оболочку сделать рекурсивный globbing: **/
подстановочный знак соответствует каталогам на любой глубине. В ударе необходимо активировать опцию с shopt -s globstar
(удар), и остерегается этого для избиения 4.2, **/
символьные ссылки пересечений на каталоги. В ksh93 Вам нужно set -o globstar
(ksh93); в zsh это всегда включается.
for x in **/*.txt; do …
При необходимости в сценарии, чтобы быть портативными к другим оболочкам, используйте find
команда, это - точно правильный инструмент для задания. Отметьте это find
внешняя команда, которая может работать двумя способами: это может генерировать список файлов, и это может выполнить команды для каждого файла. Если Вы хотите выполнить команду для каждого файла, использовать -exec
:
find . -type f -name '*.txt' -exec chmod a+r {} +
1Among необолочки Bourne, fish
и tcsh
также имейте функцию
дерево
также является хорошим инструментом для этого.
Я использую
tree -Dpushfag --du
, вы также можете добавить ограничение по глубине, например, максимум 2 уровня:
tree -Dpushfag --du -L 2
find -ls
опция. – rozcietrzewiacz 30.09.2011, 15:10find … -exec
. Не использоватьfor x in $(find …)
: это не работает, потому что это не может справиться с именами файлов, содержащими пробел.find -exec
точно правильный инструмент для задания. – Gilles 'SO- stop being evil' 01.10.2011, 02:16