100.25.2. sortBy を使用したソート
Camel はプラグ可能なソートストラテジーをサポートします。このストラテジーでは、File 言語 を使用してソートを設定します。sortBy オプションは、以下のように設定されます。
sortBy=group 1;group 2;group 3;...
各グループはセミコロンで区切られます。簡単な状況では、簡単な例としては 1 つのグループのみを使用できます。
sortBy=file:name
これはファイル名でソートされ、逆方向に 逆 順をやり直すことができるため、ソートは Z.A になります。
sortBy=reverse:file:name
File 言語 のフルパワーがあるため、他のパラメーターの一部を使用することができます。そのため、ファイルサイズでソートする場合は、以下を行います。
sortBy=file:length
文字列比較に ignoreCase: を使用してケースを無視するように設定できます。そのため、ファイル名のソートを使用し、ケースを無視する場合は、以下を行います。
sortBy=ignoreCase:file:name
ignore 大文字と小文字を組み合わせることができますが、最初に逆に指定する必要があります。
sortBy=reverse:ignoreCase:file:name
以下の例では、最後に変更したファイルで並べ替えたいので、以下を行います。
sortBy=file:modified
次に、2 番目のオプションとして名前でグループ化し、同じ変更を持つファイルは名前で並べ替えます。
sortBy=file:modified;file:name
これで問題がありましたが、その問題を見つけられましたか?ファイルの変更タイムスタンプはミリ秒単位で行われるため問題ありませんが、日付のみでソートし、名前でサブグループのサブグループを行う場合はどうなるか?
また、File Language の本当の機能があり、パターンをサポートする date コマンドを使用できます。そのため、以下のように解決できます。
sortBy=date:file:yyyyMMdd;file:name
Yeah、これは非常に強力で、グループごとに逆が可能であるため、ファイル名を元に戻すことができます。
sortBy=date:file:yyyyMMdd;reverse:file:name