5

У меня есть простой цикл в одном из моих сценариев обработки данных, который выглядит примерно так ...

for f in *.dat; do
  process ${f}
done

Я хотел бы встроить индикатор состояния, поэтому я хотел бы иметь возможность подсчитывать количество элементов в *.dat , но я не могу найти никаких подсказок, и Google не совсем подходит для такого рода поиска ,

1 ответ1

9

С массивами Bash:

arr=(*.dat)
count=${#arr[@]}

Чтобы разобраться в этом, ${arr[@]} дает вам каждый элемент в массиве, а # дает вам счет в расширении параметра (на самом деле это даст вам длину строки, но для массивов это счет).

Смотрите также на Bash Hackers Wiki:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .