lsコマンドをファイルタイプ(ディレクトリやファイル拡張子など)でソートする


15

lsファイルタイプで並べ替えるには(たとえば、ディレクトリを最初に、次にファイル拡張子で)どうすればよいですか?(スーパーユーザー)で提案された回答は、ファイルタイプでlsをソートすると、からの不明なオプションエラーになりますls


2
タイトルに関する若干の修正:lsはbashコマンドではありません。にあるスタンドアロンの実行可能ファイルです/bin/ls
ニーリー

回答:


21

お気付きのとおり、Darwinバージョンのlsコマンドはこの-X | --sort=extensionオプションをサポートしていません。このオプションは、GNUバージョンのに固有ですls

lsシステムのGNUバージョンを入手できます。これを行う最も簡単な方法は、Homebrewパッケージマネージャーと移植システムを使用することです。Homebrewがインストールされている場合:

brew install coreutils

GNU Core Utilitiesパッケージをシステムに追加します。すべてのユーティリティには接頭辞が付けられるgため、OS Xに同梱されているデフォルトのDarwin ユーティリティと衝突しません。

GNU Core Utilitesをインストールすると、次のことができるようになります。

gls -X

そして、あなたはあなたが望むようにソートされた出力を見るでしょう。

OS Xに付属のユーティリティの代わりにGNU Core Utilsを使用する場合は、~/.bashrcファイルに次の行を追加できます。

source /usr/local/Cellar/coreutils/8.14/aliases

またg、コマンドでプレフィックスを使用する必要がなくなります。GNU utilsの一部はbash組み込みツールやDarwinツールとは動作が異なるため、シェルセッションで他のことを台無しにする可能性があるため、これは完全に安全なことではありません。そのため、注意してください。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.