Linuxでlsを使用してファイルをアルファベット順にソートしますか?

Linuxでlsを使用してファイルをアルファベット順にソートしますか?

Ubuntu Xenialでファイル(隠しファイルを含む)をアルファベット順に自然な順序で並べ替えようとしています。

私はそれをしました:

ls -l1va

以下を印刷します。

.
..
.ICEauthority
.Private
.Xauthority
.atom
.babel.json
.bashrc
.bash_history
.bash_logout
.cache
.cargo
.config
.dbeaver4
.dbeaver-drivers
.dbus
.docker
.eclipse
.ecryptfs
.electron
.fltk
.gconf
.gem
.gimp-2.8
.gitconfig
.gksu.lock
.gnome
.gnome2
.gnome2_private
.gnupg
.local
.mozilla
.nano
.node-gyp
.npm
.nvm
.pki
.profile
.putty
.recently-used
.selected_editor
.ssh
.sudo_as_admin_successful
.thumbnails
.v8flags.6.2.414.32-node.8.4654dce123559e380233361202560f0e.json
.vmware
.vscode
.vscode-insiders
.wget-hsts
.xsession-errors
.xsession-errors.old
.yarn
.yarnrc
Desktop
Documents
Downloads
Music
Pictures
Projects
Public
Templates
Videos
bin
mnt
tmp

ソートを大文字と小文字を区別せずにASCIIテーブルの位置ではなく文字でソートするにはどうすればよいですか(これがZの前にZを作成する理由だと思います)。

ベストアンサー1

ソートの順序はロケールによって異なります。デフォルトCのロケールは例のようにソートされます。

$ LC_COLLATE=C ls -A
.hidden  Zappa  aardvark  vent  water  zebra

しかし、多くの人は文字に優先順位を置き、大文字と小文字の前のピリオドを無視します。

$ LC_COLLATE=en_US.UTF-8 ls -A
aardvark  .hidden  vent  water  Zappa  zebra

(一部の地域でもこのような文字を考えると驚かないでしょう。Vそして勝つ平等ですが、そうする人は思い出されません。 )

もちろん、システムにこれらのロケールが必要です。欠落ロケールを生成するために使用できるlocale -aシステムで、現在使用可能なロケールを表示する必要があります。これにより、作成するロケールを選択できるリストがlocale-gen $localename表示されます。dpkg-reconfigure locales

おすすめ記事