URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 91023
[ Назад ]

Исходное сообщение
"Сравнение файлов в директории"

Отправлено belodemon , 26-Фев-11 10:26 
Доброго времени.
Появилась задача сравнить директорию 1 и директорию 2. Задача: вывести список файлов недостающих в директории 2. Тоесть их содержание аналогично, но в директории 1 файлов больше, нужен список именно тех файлов которых нет в 2.

Содержание

Сообщения в этом обсуждении
"Сравнение файлов в директории"
Отправлено Pahanivo , 26-Фев-11 13:17 
> Доброго времени.
> Появилась задача сравнить директорию 1 и директорию 2. Задача: вывести список файлов
> недостающих в директории 2. Тоесть их содержание аналогично, но в директории
> 1 файлов больше, нужен список именно тех файлов которых нет в
> 2.

DIR1=/some/dir1
DIR2=/some/dir2
for LOOP in `ls $DIR2`
do
  if [ ! -e $DIR1/$LOOP ]; then
    echo $LOOP
  fi
done


"Сравнение файлов в директории"
Отправлено belodemon , 26-Фев-11 14:48 
Спасибо!


"Сравнение файлов в директории"
Отправлено ill ates , 26-Фев-11 15:24 
diff <(ls dir1) <(ls dir2) | awk '/>/{print $2}'

"Сравнение файлов в директории"
Отправлено belodemon , 28-Фев-11 00:21 
> diff <(ls dir1) <(ls dir2) | awk '/>/{print $2}'

спасибо, небольшая неточность...

diff <(ls dir1) <(ls dir2) | awk '/</{print $2}'
так работает, тоесть я так понял печатать только строки содержащие "<" и начиная со второго столбца.

А как быть есле файлы одинаково называются но имеют разный размер, тоесть необходим список файлов с меньшим размером ?