次の問題があります。プログラムが間違った順序でファイルを読み取りますls
。
私はいくつかのオプションを試しましたが、LC_COLLATE
私が探しているデフォルト設定と一致するオプションがないので、できることはもっとたくさんあるようです。
無効なシーケンスを生成するコマンドの例:
user@host: /home/user/Video $ mpv *.mkv
/home/user/Videoには150個のファイルがあります。以下は最初の12ファイルです。プログラムのコマンドは次のとおりですmpv *.mkv
。
TVSeriesName - 01.mkv
TVSeriesName - 02.mkv
TVSeriesName - 03.mkv
TVSeriesName - 04.mkv
TVSeriesName - 05.mkv
TVSeriesName - 06.mkv
TVSeriesName - 07.mkv
TVSeriesName - 08.mkv
TVSeriesName - 09.mkv
TVSeriesName - 10.mkv
TVSeriesName - 100.mkv
TVSeriesName - 101.mkv
前に0があっても、11を読む前に100を読みます。
理想的には、前にゼロがなくても正しい1〜150の順序で読み取る必要があります。
ranger
私が望むのは、ファイルマネージャの基本順序に似た汎用ファイルの読み取り順序と並べ替え順序を持つことです。
例:
.1-hiddendir/
.2-hiddendir/
.a-hiddendir/
.b-hiddendir/
.C-hiddendir/
.d-hiddendir/
.E-hiddendir/
1-dir/
2-dir/
A-dir/
b-dir/
c-dir/
D-dir/
.1-dotfile
.2-dotfile
.a-dotfile
.b-dotfile
.C-dotfile
1-file
2-file
a-file
B-file
c-file
オペレーティングシステム:アーチ Linux,FS:外部4
環境設定やLinuxディストリビューションでこれを達成できますか?
ベストアンサー1
find . -maxdepth 1 -type f -name '*.mkv' -print0 | sort -Vz | xargs -0r mpv
これはfind
、現在のディレクトリで "*.mkv"に一致するすべてのファイル名のNUL区切りリストを出力するために使用されsort
ます-z
。すべてのファイル名が表示されます。パラメーターのソート順序。--zero-terminated
-V
--version-sort
xargs -0r mpv
mpv
これは、名前にスペース、改行、またはシェルメタ文字を含むファイル名を含むすべてのファイル名に適用されます。
AFAIK、現在GNU sort
、FreeBSDのみ、またはオプションをsort
サポートしています。-z
--zero-terminated