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

Re: Как можно собрать файлы из множества директорий в одну ?



Wed, 13 Jan 2010 11:53:31 +0200
Oleksandr Gavenko <gavenko@bifit.com.ua> wrote:

> 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 (без лишних зависимостей).
И радостное бл******** на перво же файле с \n в имени.

-- 
Best regards,
 Alexander GQ Gerasiov

 Contacts:
 e-mail:    gq@cs.msu.su             Jabber:  gq@jabber.ru
 Homepage:  http://gq.net.ru         ICQ:     7272757
 PGP fingerprint: 04B5 9D90 DF7C C2AB CD49  BAEA CA87 E9E8 2AAC 33F1


Reply to: