Привет,Можно ли оптимизировать эту функцию bash?
У меня есть скрипт bash, который обрабатывает файлы ZIP, которые мы получаем от клиента, и распаковывает их, если сопоставляется набор критериев. Он работает хорошо, но он медленный. В частности, следующие функции:
function getCTLfile() {
for i in ${HDD_LIST_Array[@]}
do
if [[ `echo ${i}|awk -F . '{print $NF}'` == "ctl" ]]
then
echo "${i}"
fi
done
}
Цель этой функции, чтобы получить имя файла управления, содержащегося в ZIP-файле. HDD_LIST_Array[@]
получается для каждого константы выглядит архива:
HDD_LIST_Array=(`unzip -l $name | head -n -2|tail -n +4 | sort -r | awk '{print $4}'`)
Опять же, это работает, хотя и медленно. Можно ли оптимизировать эту функцию для ускорения работы? Любой совет?
Спасибо.
вы можете дать нам пример вывода unzip -1 для ваших zip-файлов, а выход getCTLfile – 2010-11-24 18:49:42
разархивировать выход === >> CTCA_HDD_20101108_150000.ctl 029045871901 ~ Seagate ~ 20101108 ~ 140021.HDD 028919111311 ~ WD ~ 20101108 ~ 140025.HDD ... – Chris 2010-11-24 19:02:05
getCTLfile выход === >> суффикса: CTL. – Chris 2010-11-24 19:03:14