CSSのカラーコードを一括で短縮する
#fa05ab
のようにCSS等で指定するカラーコード。これは6桁または3桁の16進数で表現をしている。
6桁の場合はそれぞれ2桁ずつ、3桁の場合はそれぞれ1桁ずつを、RGBの順番にそれぞれの色の強さとして指定している。
6桁の指定で、2桁ずつ同じ文字を指定している場合は、3桁のカラーコードに短縮ができる。
例えば、#000000
は#000
、#ff00aa
は#f0a
と。
このように短縮できるカラーコードを一括で変換したい事情があり、備忘録として残しておく。
変換
Macを想定。Linuxでもgsed
をsed
と読み替えればOK。
GNU版のsedを使いたいので、brewでインストールしておく。
brew install gnu-sed
filelist.txt
にファイルのパス一覧が入ってることを想定してるけど、ここはよしなに。
cat filelist.txt | xargs gsed -i -e 's/#\([0-9a-fA-F]\)\1\+\([0-9a-fA-F]\)\2\+\([0-9a-fA-F]\)\3\+/#\1\2\3/g'