find . -type f
сделает это. Можно сделать должностное лицо, если Вы хотите воздействовать на имена файлов.
Просто используйте ! -type d
:
find . -type d \( -path ./.git -o \
-path ./log -o \
-path ./public -o \
-path ./tmp \) -prune -o \
! -type d -print
Вот один способ сделать это. Я передаю Ваш вывод по каналу от find
(использование xargs
) к определенному удару, который задает вопрос "Разве, это не каталог?" и если это не, это повторяет его к Вашему терминалу.
Вот целая хижина:
find . -type d \( -path ./.git -o -path ./log -o -path ./public -o -path ./tmp \) -prune -o -print | xargs -i bash -c 'if [ ! -d "{}" ]; then echo "{}"; fi'
Вот просто мое дополнение:
xargs -i bash -c 'if [ ! -d "{}" ]; then echo "{}"; fi'
Объяснить:
xargs -i
строка замены "{}" с аргументами (те, которые передаются по каналу в),
bash -c
команды считаны из строки
if [ ! -d "{}"];
это каталог.
echo "{}"
повторите результат находки.
fi;
конец, если.
$(do-what-I-want)
например, чтобы сделать, чтобы Вы сделали то, что он хочет.
– Stéphane Chazelas
23.05.2013, 23:12
-type f
для регулярных файлов. каталоги и регулярные файлы являются 2 из многих различных типов файлов на Unix. С-type f
, Вы исключаете каталоги, но также и все другие типы файлов как символьные ссылки, сокеты, fifos, устройства, двери... – Stéphane Chazelas 23.05.2013, 23:07