Я новичок в Unix, я ищу много информации, но до сих пор не знаю, как сделать это в bash
Что я знаю, использует эту команду ls -tr|xargs -i ksh -c "mv {} ../tmp/"
для перемещения файла за файлом.
Теперь мне нужно создать сценарий, который сортирует все эти файлы по системной дате и перемещает их в каталог. Первые 1000 самых старых файлов должны быть перемещены.
Файлы примеров r, подобные этим
KPK.AWQ07102011.66.6708.01
KPK.AWQ07102011.68.6708.01
KPK.EER07102011.561.8312.13
KPK.WWS07102011.806.3287.13
----------- Это скрипт, который я создал -------
if [ ! -d /app/RAID/Source_Files/test/testfolder ] then
echo "test directory does not exist!"
mkdir /app/RAID/Source_Files/calvin/testfolder
echo "unused_file directory created!"
fi
echo "Moving xx oldest files to test directory"
ls -tr /app/RAID/Source_Files/test/*.Z|head -1000|xargs -i ksh -c "mv {} /app/RAID/Source_Files/test/testfolder/"
проблема этого скрипта в
1) unix, запрос синтаксиса erro 'if '
2) Команда перемещения работает, но она создает новую тестовую папку с именами файлов, вместо этого перемещается в каталог тестовых папок (тестовая папка уже создана по этому пути)
Кто-нибудь может подать мне руку?спасибо