С помощью zsh
:
extract_numbers() REPLY=${(SM)REPLY##<->-<->}
for file (*<->-<->*.dat(no+extract_numbers)) {
do-what-you-will-with $file
}
Мы определяем функцию сортировки (extract_numbers
), которая возвращает Substring имени файла, который Matches <->-<->
(<->
соответствует любому положительному знаку после запятой).
Мы используем эту функцию для numeric ordering глобуса *<->.<->*.dat
.
Вы можете использовать это
expr length $str
, надеюсь, это должно помочь!