GUIファイルマネージャを使用してCLIに切り替えると、遅くなる現象の1つは次のとおりです。
GUIファイルマネージャでは、ディレクトリ内のファイルのサブセットをすばやく選択できます。
- まず、できるだけ多くのファイルサブセットを連続的にキャプチャするために、順序に従ってソートします。
- 次に、範囲内の最初のファイルをShiftキーを押しながらクリックし、最後のファイルをクリックして連続ファイル範囲を選択します。
- その後、連続した範囲にない一部のファイルをクリックすることもできます。
CLIでできるだけ早くファイルのサブセットを選択するにはどのような方法を使用する必要がありますか?ありがとうございます!
答え1
シェルの場合、zsh
通常はワイルドカード修飾子を介して実行されます。
mv -- *(.om[1,10]) /dir
隠されていない最新の一般ファイル10個を/dir
。
完成したシステム(を実行して有効になっている)を介してリストを展開し、展開するリストを選択するためにも使用compinstall
できます。zsh
Alt-A
答え2
ソート、バンドルスクロール、手動で範囲を選択する、範囲に穴を開けるなどはすべてGUIで自然です。
これは退屈でエラーが発生しやすいと言うこともできます。
CLI(つまり、Unixシェル)にはより強力な手段があります。
ファイル名をキーとしてソートするときは、ワイルドカードを使用して範囲を選択できます。
$ rm someprefix*mid*.[0-9]
ソートされたリストには、「someprefix」で始まるファイルが連続して表示されます。ただし、ワイルドカードがあるため、明示的に並べ替える必要はありません。
基本的なワイルドカード構文を使用して強力なフィルタを作成することもできます。 zshのようなシェルは拡張機能を提供します。
find
たとえば、複数の基準を組み合わせることもできます。
$ find -type f -name 'someprefix*' -not '*.txt' -print0 | xargs -0 rm
「someprefix」で始まるすべてのファイルを繰り返し削除しますが、「.txt」で終わるファイルは除外します。
find
論理AND / OR、グループ化、ファイルサイズによる選択、さまざまなタイムスタンプ、パスに適用される正規表現などの式を作成するためのさまざまなオプションがあります。
特に、再帰選択(デフォルト)の可能性は多くの作業速度を向上させる可能性があります。 GUIファイルマネージャの複数のディレクトリで同じ範囲選択操作を繰り返し実行すると想像してください。