Да. В принципе чтобы просто скопировать, достаточно последней строки. Но если файлы имеют одинаковые имена, они пропускаются при копировании. Вот за этим и нужно сначала переименовать все файлы,а уже потом копировать.
Пользователь решил продолжить мысль 30 Марта 2015, 09:35:15:
Нашел еще одну новую ошибку и исправил её.
#! /bin/bash
cd /home/user/1
DIR1=/home/user/1
DIR2=/home/user/2
E=$DIR2/1.txt
R=$DIR2/2.txt
MAX=? #как посчитать количество строк в файле $E?
COUNT=1
touch $DIR2/1.txt
touch $DIR2/2.txt
find ./ -type f | sed 's|.*/||' >> $E
while (( COUNT <= MAX )) ; do
find ./ -type f > $R
DIR3=$(sed -n '$COUNTp' $R)
cd $DIR3
NAME=$(sed -n '$COUNTp' $E) #получаем имя первого файла(в виде NAME=$(sed -n '1p' $E) строка срабатывает)
#echo $NAME
NEWNAME=$NAME-$(date +%H:%M:%S)
mv ./$NAME ./$NEWNAME
let COUNT+=1
cd $DIR1
done
find ./ -type f -exec cp '{}' $DIR2 \; #копирует все файлы в каталоге