質問
並べ替えてもらえますか ls 名前でリストしますか?
解決
デフォルトでは名前で私のlsのソート。あなたは何を見ている?
man ls
状態:
List information about the FILEs (the current directory by default). Sort entries alpha‐betically if none of -cftuvSUX nor --sort is specified.
ます:
他のヒント
シンプルなものであれば、組み合わせることができます ls と 選別. 。ファイル名のリストだけを表示するには:
LS -1 |選別
逆順に並べ替えるには:
LS -1 |並べ替え-R
ls
からcoreutils
を行うのロケールに対応するソートデフォルトで、従って、いくつかのケースで驚くべき結果を生成することができる(例えば、%foo
はbar
にquux
とLANG=en_US
間にソートされます)。あなたはASCIIbeticalの並べ替えをしたい場合は、使用します。
LANG=C ls
* nixのツールの美しさは、あなたがそれらを組み合わせることができますされます:
ls -l | sort -k9,9
ls -l
の出力は次のようになります。
-rw-rw-r-- 1 luckydonald luckydonald 532 Feb 21 2017 Makefile
-rwxrwxrwx 1 luckydonald luckydonald 4096 Nov 17 23:47 file.txt
9,9
とだからコラム9
までのソート列9
、ファイル名です。あなたは、このケースで同じ列である、停止する場所を提供する必要があります。カラムは1
で始まります。
また、sortコマンドに--ignore-case
を追加します。
NOTICE: "" "Z" の後に来るます:
$タッチA.TXT aa.txt Z.txt
$のls
A.TXT Z.txt aa.txt
のみ数値列によって異なるされているファイルは、それがセパレータによって先行されることを条件に、この数に分類することができます。
この場合には、次の構文を使用することができます。
ls -x1 file | sort -t'<char>' -n -k2
例:
ls -1 TRA*log | sort -t'_' -n -k2
TRACE_1.log
TRACE_2.log
TRACE_3.log
TRACE_4.log
TRACE_5.log
TRACE_6.log
TRACE_7.log
TRACE_8.log
TRACE_9.log
TRACE_10.log
(バッシュLS用)のmanページから:
-cftuSUXのどれも--sort場合は、アルファベット順に項目を並べ替えます。
エイリアスのためのあなたの.bashrc
ファイルをチェックします。
の ls
ユーティリティは IEEE Std 1003.1-2001 (POSIX.1
) どの州:
22027:現在のロケールの照合順序に従って、ディレクトリ オペランドと非ディレクトリ オペランドを別々に並べ替えます。
26027:デフォルトでは形式は指定されていませんが、 出力はアルファベット順にソートされます シンボル名別:
- ライブラリまたはオブジェクト名 (-A が指定されている場合)
- シンボル名
- シンボルの種類
- シンボルの値
- シンボルに関連付けられたサイズ (該当する場合)
lsが、あなたはもっと有用なデフォルトのエイリアスLSを持っています。
In Debian Jessie, this works nice:
ls -lah --group-directories-first
# l=use a long listing format
# a=do not ignore entries starting with .
# h=human readable
# --group-directories-first=(obvious)
# Note: add -r for reverse alpha
# You might consider using lh by appending to ~/.bashrc as the alias:
~$ echo "alias lh='ls -lah --group-directories-first'" >>~/.bashrc
# -- restart your terminal before using lh command --