В каталоге у меня есть следующие файлы:
000 - text.txt
000 - info.txt
001 - first.txt
002 - second.txt
aaa - more.txt
ZZZ - text.txt
ZZZ - info.txt
В Bash, как бы я получить следующий числовой номер (т.е. 003)?
Я хочу игнорировать "aaa - *", "aab - *", "ZZZ - *" и т.д.
В настоящее время я перебираю все файлы и использую \d\d\d
для всех файлов, чтобы найти наибольшее число
псевдокод:
min = 000
for each file in directory
if match \d\d\d > min
max = match \d\d\d
printf %03d $((max + 1))
Я уверен, что есть более эффективный метод (например, возможно, с использованием ls или подобного).