Re: Как можно собрать файлы из множества директорий в одну ?
On 2010.01.12 16:23, Nicholas wrote:
> Oleksandr Gavenko wrote:
>> find $dir -type f -name "*.[ch]" | while read file; do \
>> fname=`basename $file` или fname=${file##*/}; \
>> dname=${file%/*}; \ - удаляем имя
>> dname=${dname##*/}; \ - получаем последний каталог
>> mv $file куда-вам-угодно/$dname_$fname; \
>> done
>
> Спасибо, буду эксперементировать.
>
Приятность конструкции
find . -type f .... | while read; do ...; done
в возможности обрабатывать только часть файлов,
удовлетворяющих сложному условию:
find . -type f .... | while read; do \
if test/grep/[ $var = bad ]/bla-bla-bla; then \
continue; \
fi; \
полезная-работа; \
done
и полное соответствие POSIX (без лишних зависимостей).
--
С уважением, Александр Гавенко.
Reply to: