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: