人間が読める形式の数字に拡張

人間が読める形式の数字に拡張

そのため、ファイル名を入力として使用するコンソールプレーヤーでいくつかのMP3を再生したいと思います。私のシェル(zsh)拡張子の場所に示すように、次のファイルがありますls -1 **

1 - Main title.mp3
10 - End title.mp3
2 - Intro.mp3 
...

しかし、明らかに私は実際にそれらを次のように整列させたいと思います。

1 - Main title.mp3
2 - Intro.mp3 
...
10 - End title.mp3

これを行うにはどのシェル拡張魔法が必要ですか?

私は巧妙な配管を使用すると同じ結果が得られることを知っていますが、sort -h実際にはそうではありません。怠惰なタイピストだから。それで、曲を追加するために小さなシェルスクリプトを書かない限り、私はそうするほうがnyxmms2 add /path/to/dir/*.mp3よいでしょう。なぜzsh用の拡張機能でフィルタリングを実行する方法を探していますか...また、これが正しいかどうかを知りたいです。可能です。これは、ログファイルやリビジョンなど、さまざまな状況に適用されるためです。

ベストアンサー1

使用n グローバル予選

print -lr -- *.mp3(n)

設定により、デフォルトのソート順を変更できます。numeric_glob_sortオプション。

setopt numeric_glob_sort
print -lr -- *.mp3

numeric_glob_sort有効なパターンのアルファベット順が必要な場合は、nglob修飾子を取り消してください。

print -lr -- *(^n)

おすすめ記事