есть два файла
1. Листинг каталога (filelist.txt)
2. Список исключений (fileexcl.txt)
нужно удалить из filelist.txt, строки которые записаны в fileexcl.txt.
есть папка в которой более 12 тысяч файлов/каталогов, нужно пораскинуть файлы по месяцам в папки типа 01,02,03... но не трогать файлы которые в списке исключений (fileexcl.txt)
черновик выглядит так
#!/bin/bash
# в качестве параметра указывается целевой каталог
#перебираем месяцы
for im in {01..12}; do
# определяем последний день месяца 28(29) или 30 или 31
case "$im" in
"02" ) #февраль
datayang=2012"$im"292359;;
"04"|"06"|"09"|"11" ) # 30 последнее число
datayang=2012"$im"302359;;
* ) # у остальных 31 послднее число
datayang=2012"$im"312359;;
esac
# первое число месяца
dataold=2012"$im"010001
# ---------контрольный вывод------------------
echo 'Шаг '$im
echo 'Файлы между: '$dataold' - '$datayang
#---------------------------------------------
# создаём файлы-эталоны даты
touch $1\/told -t $dataold
touch $1\/tyang -t $datayang
# ---------контрольный вывод------------------
#ls -l $1\/told
#ls -l $1\/tyang
#---------------------------------------------
# ищем файлы дата создание/модификаци которых находится между эталонами
find $1 -maxdepth 1 \( -newer $1\/told -a -not -newer $1\/tyang \) | xargs -0 > list$im.txt
# echo $1-$im
# ---------контрольный вывод------------------
#ls -l list$im.txt
#---------------------------------------------
done
идеи и конструктивная критика приветствуются