LINUX.ORG.RU

#!/bin/sh
#
#	gather -- gathers all jpg pictures from current folder and its subfolders into $1
# 4 avi change jpg -> avi

tmp=`echo "$1" | grep "^/"`
if  [ "$tmp" != "" ]; then
    where="$1"
else
    if [ "$1" != "" ]; then
        where="$PWD/$1"
    else
	where="$PWD/GATHER"
    fi
fi
[ ! -e $where ] && mkdir $where
for file in `ls`
do
    [ "$PWD/$file" = "$where" ] && continue
    if [ -d "$file" ]; then
	cd $file
	echo -e "\n\t\tCurrent dir:\t$file"
	gather $where
	cd ../
	continue
    fi
    cp $file $where/$$-$file
done

Eddy_Em ☆☆☆☆☆
()

find ОТКУДА -type f -iregex '\(.*\.jpg\|.*\.avi\|.*\.mov\|.*\.mpg\)' | xargs -I {} mv {} КУДА

regex меняй по вкусу

init_6 ★★★★★
()

>p.s. Извращался с монстром ls-grep-mv ничего толком не получилось.

ой ли? Даже не зная о find
mv *.AVI */*.AVI */*/*.AVI NewDir/

sdio ★★★★★
()
Ответ на: комментарий от exah

Если в исходных каталогах есть файлы с одинаковым именем (1.avi, например, несколько раз) , то к mv добавь ключик --backup (например, --backup=numbered) . Иначе можно часть файлов потерять.

И кстати, уже был такой вопрос на лоре.

record ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.