ls コマンド - 列数の定義

ls コマンド - 列数の定義

ls出力の列数を定義する方法はありますか?

これまでに私が持っていたもの:ls -C列をソートしてls -1列を生成します。--tabsize =2つの列を生成するオプションの結果は次のとおりです。この写真はここにあります。[原産地この記事では]。

学んだこのコマンドは、列の幅が8文字であると仮定します。試してみましたwidth=が、それほど遠くはありませんでした。

質問ls:たとえば、追加のコマンドなしで「オンボードツール」を使用して行数を定義する方法はcolumn

答え1

いいえ。lsこの能力はありません。(希望する人はほとんどいません)

答え2

幅パラメータを1にオーバーライドします。

ls -w 1

私にとってうまくいきます!

答え3

|出力をパイプする必要がありますls。区切り文字が何であるかを知る限り、プログラムはsedデータをソートできます。cutほとんどの場合、列間隔では区切り文字はタブ文字です。

lsしかし、出力を列に分割する方法や理由はわかりません。いつでも出力をパイプできるので、moreデータを読みやすくします。

答え4

Linux Debianの端末でこのコマンドをテストしました。端末が十分に広い場合は、「ls」だけを入力すると列が表示されますが、端末のすべてのスペース(幅)を使用するわけではありません。端末を画面の幅に設定しましたが、「ls」は4つの列のみを生成しました。問題は、「more」と入力すると熱が失われることです。

次に、端末では、画面の幅(200は「家庭の画面の幅」)だけ「ls -w200」を使用しました。これで、画面の全幅を占める5つの列(「ls」のみを含む4つの代わりに)があります。これは、ファイル名の長さの影響を受けることを誰もが知っています。 「ls」自体よりも列が1つ多くなり、全画面幅を使用します。繰り返しますが、「ls」と同様に、コマンドを「more」(「ls -w200 | more」)にパイプすると、列が失われます(つまり、1つの列しかありません)。

したがって、これは複数の列にアクセスできる最も近いものです。

注:「ls -w2000」コマンドを試して、端末の幅を最大化しました。出力は、"wrap"を含む1行とディレクトリエントリの間にスペースが2つあります。乱雑に見えますが、ディレクトリ内のすべてのエントリをできるだけ短い方法で表示します。

関連情報