Shell-Script
對文件以數字結尾的 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}
)
幸運的是!有一個單行命令
ls -lav
應該做你正在尋找的
使用 GNU
ls
,您可以使用:ls -v
使用 POSIX 工具箱:
ls | sort -nk1.2 | paste -sd ' ' -
如果您確定範圍內的所有文件都存在,則 shell 具有大括號擴展:
echo f{1..20}
與
zsh
:print -r -- f*(n)