Я не слишком хорошо знаком с оболочкой zsh
, и я приду с приведенной ниже комбинацией команд awk
с find
и sort
, которые выполняют сортировку файлов, найденных первыми, с естественными номерами (версий) в тексте
изman sort
.
Затем передать awk
с определением -F'v'
и добавить в массив на основе первой дублированной части имени файла (это гарантирует, что последняя часть сохраняется в массиве), поэтому команда, о которой я говорю, будет выглядеть следующим образом, чтобы получить файлы с большим числом v :
awk -F'v' '{U[$1]=$1"v"$2}END{for(x in U)print U[x]}' <(find . -type f|sort -V)
./012345v3.txt
./3333v7.txt
./11111v11.txt
Теперь у вас есть список файлов, которые вы должны сохранить, а остальные удалить.