読者です 読者をやめる 読者になる 読者になる

へっぽこびんぼう野郎のnewbie日記

けろけーろ(´・ω・`)!

シェルでlsを打った時の結果を色つきでパイプに渡す

コマンド

Mac専用

$ CLICOLOR_FORCE=1 ls | less

Macじゃない場合はこっち参照serverfault.com

意味

$ man ls

~~省略~~
CLICOLOR_FORCE Color sequences are normally disabled if the output isn't directed to a terminal. This can be overridden by setting this flag. The TERM variable
still needs to reference a color capable terminal however otherwise it is not possible to determine which color sequences to use.
~~省略~~

色を出す文字列がそのまま出てしまうこともある

$ CLICOLOR_FORCE=1 ls | more
ESC[31mcreate_record_models.pyESC[39;49mESC[0m

ESCなんちゃらってなんじゃらほい

10進数で31の場合、赤色で出力される(Mac以外ではecho -eMacェ……)

$ echo '\033[31mcreate_record_models.py\033[39;49m\033[0m'
create_record_models.py  # 赤色

感想

色付きでパイプに渡せるので便利

余談

じつはgit diffも実装してくれてる

$ git diff --color cms/const.py | less
diff --git a/cms/const.py b/cms/const.py
index 55747cf..e69de29 100644
--- a/cms/const.py
+++ b/cms/const.py
@@ -1,160 +0,0 @@
-from enum import Enum

~~省略~~