Você está analisando ls , você não deve fazer isso . Eu acho que pode ser a fonte do seu problema.
Por exemplo se pelo menos um dos seus slurm-* nomes de arquivos for como:
*\nRemember that all constraints must be readded!
ou
*\nRemember that all constraints must be readded!\n*
onde \n é uma nova linha, então sort recebe mais linhas do que o esperado. Apenas este nome de arquivo:
slurm-0.1.-5\nRemember that all constraints must be readded!
fará com que sort receba duas linhas e, em seguida, em sua saída, a linha Remember … será depois da linha slurm-… . Não sei como seus nomes de arquivos slurm-* são exatamente iguais. Eu nem tenho certeza de que isso é o que realmente acontece. Meu ponto é que você não deve analisar a saída de ls .
Outro fragmento fraco é onde você não cita o argumento para nano . Isso provavelmente não está relacionado ao seu problema atual, mas lembre-se de que nano a b faz a edição nano a e, em seguida, b , não "a b" .