У меня есть папка с 20000 файлами в каталоге A и другая папка с 15000 файлами в другом каталоге B. Я могу перебрать каталог, используя:
DIR='/home/oracle/test/forms1/'
for FILE in "$DIR"*.mp
do
filedate=$( ls -l --time-style=+"date %d-%m-%Y_%H-%M" *.fmx |awk '{print $8 $7}')
echo "file New Name $FILE$filedate "
# echo "file New Name $FILE is copied "
done
Мне нужно перебрать все файлы в каталогеA и проверьте, существуют ли они в каталоге B
Я попробовал следующее, но это не сработало:
testdir='/home/oracle/ideatest/test/'
livedir='/home/oracle/ideatest/live/'
for FILET in "$testdir" #
do
testfile=$(ls $FILET)
echo $testfile
for FILEL in "$livedir"
do
livefile=$(ls $FILEL)
if [ "$testfile" = "$livefile" ]
then
echo "$testfile"
echo "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
else
echo "nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn"
fi
done
done
Я пытаюсь исправить результат летплохого контроля версий у нас есть тот самый oly-скрипт, который отправляет форму в живую среду, но каждый раз, когда она компилируется и отправляется, живая версия именуется как (testform.fmx), но в test dir есть примерно 10 файлов, названных как (testform.fmx01)-12-2018) (testform.fmx12-12-2017) (testform.fmx04-05-2016) в результате мы потеряли трек последнего источника, отправленного в живую среду, поэтому я создал этот
filedate=$( ls -l --time-style=+"date %d-%m-%Y_%H-%M" *.fmx |awk
'{print $8 $7}')
echo "file New Name $FILE$filedate "
, чтобы соответствовать формату и циклически проходить через каждый каталог, и с помощью ls я могу найти последнюю версию, сопоставив размер, год и месяц