lsファイルタイプで並べ替えるには(たとえば、ディレクトリを最初に、次にファイル拡張子で)どうすればよいですか?(スーパーユーザー)で提案された回答は、ファイルタイプでlsをソートすると、からの不明なオプションエラーになりますls。
lsファイルタイプで並べ替えるには(たとえば、ディレクトリを最初に、次にファイル拡張子で)どうすればよいですか?(スーパーユーザー)で提案された回答は、ファイルタイプでlsをソートすると、からの不明なオプションエラーになりますls。
回答:
お気付きのとおり、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ツールとは動作が異なるため、シェルセッションで他のことを台無しにする可能性があるため、これは完全に安全なことではありません。そのため、注意してください。
リンクされたスーパーユーザーの記事の回答に基づく:
ls -l |sort -d -k 1.1,1.1r -k 9 | cut -c 50-
の出力全体を表示する場合はls -l、cut一部を省略します。
/bin/ls。