sedを使用してカラー出力を維持する方法

sedを使用してカラー出力を維持する方法

私はこのsedコマンドを使用しており、前のコマンドのカラー出力を維持したいと思います。 sed の出力はls色が指定されていますが、sed の出力は色がありません。私はOSXを使用しています。

ls -la | sed -En  '/Desktop/q;p'

ベストアンサー1

macOSではlsGNUではなく、Linuxユーザーが期待できるこの機能のオプションはls許可されていません。--color=always

macOSバージョンでは、ls色は次のように表示されます。2つの変数$CLICOLORそして$CLICOLOR_FORCE。前者が定義されている場合、指定された端末は色をサポートし、出力は端末に送信され、出力$TERMはGNU--color=autoオプションと同様に色になります。後者の変数も定義されている場合、最終条件が削除され、GNUの--color=always

したがって、色をに渡すにはsed次のものが必要です。

CLICOLOR_FORCE=1 ls -la | sed -En '/Desktop/q;p'

おすすめ記事