ls
コマンドが呼び出されたときに最初の30ファイルのみを表示するコマンドを作成しようとしています。私はこの方法を見つけました...
ls | head -30
...しかし、ファイルを1つの長いリストに吐き出し、行にフォーマットしたり、.bash_profile
のように色付けしたりすることはありません。それで、単に出力を制限する方法はありますか?
アスタリスクが質問を明確にするまで、私はJohn1024が答えを持っていると思いました。これで、--color
オプションがなくても以下が機能するようです。
ls -d $(ls | head -30)
残念ながら、これは単純すぎて、ファイル名に空白があると失敗します。それを考慮に入れるには、より手の込んだものが必要です。
ls -b | head -30 | xargs ls -d
どちらの場合も原則は同じです:ls | head
は最初の30ファイルを1行に1つ取得し、-d
を必要とする別のls
コマンドへの引数リストとして提示されますファイルのいずれかがディレクトリである場合のオプション。
着色を取得するには:
ls -l --color=always | head -30
通常、ls
は、出力が直接端末に送られる場合にのみ色を生成します。これは一般的に良いことです。これを上書きするには、--color=always
を使用します
上記は、1行に1つのファイルで出力を生成します。必要に応じて、スペースを確保し、1行あたりのファイル数を増やしてから、次のことを試してください。
ls -l | head -30 | column
列ユーティリティは、入力を複数の列にフォーマットします。ただし、色を使用すると混乱する可能性があります。