
「1」、「2」、…、「9」、「10」、「11」、…、「20」、「21」、…というファイルを含むディレクトリがあります。
「1」、「2」、…、「9」、「10」、「11」、…、「20」、「21」、…の順に並べることができますか?
私は一生懸命働いたls -ls
。そのようにファイルを一覧表示しませんが、「1」、「10」、「11」、...、「19」、「2」、「20」、「21」、...私の考えでは、があるようです。これは時々役に立ちます。
答え1
GNU(ほとんどのLinuxディストリビューションで利用可能)の場合、ls
ページで、ls -v
whereを使用できます。-v
man
-v natural sort of (version) numbers within text
答え2
GNUがls -v
言及されていますが、他のコマンドと同様に、シェルがある場合、zsh
ワイルドカード拡張が使用される順序に影響を与える可能性があります。
たとえば、
printf '%s\n' *(om)
mファイルは変更時刻(最新の項目から最も古い項目)にソートされ、ソート順が*(Om)
逆にリストされます(古い項目から最新の項目まで)。
*(n)
ファイルは数値順にソートされます。したがってls
、GNUでなくても、ls
次のようにすることができます。
ls -fdl -- *(n)
数値でソートされたリストを取得します。