[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: