コマンドにリストされているファイル数を制限する方法はありますかls
?
私は見たことがあります:
ls | head -4
ただし、インポートまたは実行するにはhead
実行が完了するtail
のを待つ必要があり、ls
ディレクトリ内のファイル数が多い場合はかなり時間がかかります。
ls
このコマンドを使用せずに制限コマンドを実行したいと思いますhead
。
答え1
試してみましたか?
ls -U | head -4
これはソートをスキップする必要があるため、時間がかかることがls
あります。
答え2
あなたのバージョンにls
ファイルをソートしない方法がある場合(例:-U
GNU lsの場合、それを書く。オプションがない場合は、ls
すべてのファイルを最初に読み取り、名前をソートしてから印刷を開始します。
もう一つの可能性はを実行することですfind
。これは、名前が見つかると印刷します。
find . -name . -o -prune | head
head
(現在進行中の作業のため参考にしてください。ワイヤー、ファイル名に改行文字が含まれていないとします。
答え3
おそらくそれ以外のものが必要ですかls
?
たとえば、Randal Schwartzは次の記事を書きました。perl
大きなディレクトリに使用これには、お客様の要件を満たすものを構築するためのいくつかのヒントが含まれる場合があります。
Randalは、ブログ投稿から両方を印刷する前にすべてのディレクトリエントリを読み取ろうls
としますが、彼が提案した解決策はそうではないと説明しています。find
perl
答え4
関連のない注意事項(「Linuxツリー制限ファイル数制限」を検索するときにこの質問が表示されるため)を使用できますtree --filelimit=10
(10個以下のファイルのみを含むディレクトリを削除する)。以下のように素敵に出力されます。
tree --filelimit=10
ディレクトリ構造と内容を一覧表示します。大規模なデータセットを閲覧する場合(最初の構造/階層構造を理解することに興味がある場合)、非常に便利です。
.
├── gps
│ ├── gps.csv
│ └── ins.csv
├── mono_rear [2217 entries exceeds filelimit, not opening dir]
├── mono_rear.timestamps
├── stereo
│ └── centre [3164 entries exceeds filelimit, not opening dir]
└── stereo.timestamps