对文件以数字结尾的 ls 输出进​​行排序

对文件以数字结尾的 ls 输出进​​行排序

这是我的正常命令的输出ls

f1  f10  f11  f12  f13  f14  f15  f16  f17  f18  f19  f2  f20  f3  f4  f5  f6  f7  f8  f9

所以我有20个文件。我需要它们显示为:

f1  f2 f3  f4  f5  f6  f7  f8  f9 f10  f11  f12  f13  f14  f15  f16  f17  f18  f19  f20  

除了编写脚本之外,还有任何单行命令吗?我相信你们中的一些人一定遇到过这种奇怪的情况。注:以上只是一个示例。在实际场景中,我需要按正确排序顺序列出所有文件名。 (范围从f{0..10000}

答案1

幸运的是!有一个单行命令

ls -lav

应该做你正在寻找的事情

答案2

使用 GNU ls,您可以使用:

ls -v

带有 POSIX 工具箱:

ls | sort -nk1.2 | paste -sd ' ' -

如果您确定范围内的所有文件都存在,带壳有支撑扩展:

echo f{1..20}

zsh

print -r -- f*(n)

相关内容