воскресенье, 20 марта 2011 г.

Создание массива из имен файлов в командной стрке bash

Демонстрируется как создать массив из имен файлов в командной строке.
Делается так же вывод этого массива на стандартный выход. Двумя способами, между которыми принципиальных различий нет. Дело вкуса. Не забываем, что IFS - переменная, значение которой возможно придется восстановить.
Остальное оставлю без комментариев:


DIR="/path/to/dir"
IFS=$'\n'
DirsArray=($(find $DIR -maxdepth 1 -type f))
DirsLenght=${#DirsArray[@]}
for (( i=0; i<${DirsLenght}; i++ ));
do
echo "${DirsArray[$i]}"
done
for j in $(seq 0 $((${#DirsArray[@]} - 1))) ; do
echo $j ":" ${DirsArray[$j]}
done

Комментариев нет: