ANSI エスケープ シーケンス カラーでおあそび
ターミナルに ANSI エスケープ シーケンス カラー (4 ビット) の一覧表を出力
ここの図の内容の出力をさせるスクリプトくらいならわたしでもかけそうだとおもいました。
Awk 版
とりあえず awk で1。
ansi_4-bit_colors.awk
#! /usr/bin/awk -f
BEGIN {
HR = "---------------------------------------------------------------------"
CSI = "\033[" # Control Sequence Introducer; ESC == \033
print "Background | Foreground colors"
print HR
nattrs = split(",1;", attrs, ",")
for (bc = 40; bc <= 47; bc++) {
for (i = 1; i <= nattrs; i++) {
sgr = bc "m" # Select Graphic Rendition parameter
printf(" ESC[" sgr " | " CSI sgr)
for (fc = 30; fc <= 37; fc++) {
sgr = attrs[i] fc "m"
printf(CSI sgr " %-6s", "[" sgr)
}
print CSI "0m" # Reset
}
print HR
}
}
Bash 版
いちおう Bash でも。
ansi_4-bit_colors.sh
#! /bin/bash
HR='---------------------------------------------------------------------'
CSI='\e['
echo 'Background | Foreground colors'
echo $HR
for bc in {40..47}
do
for attr in '' '1;'
do
sgr="${bc}m"
printf " ESC[${sgr} | ${CSI}${sgr}"
for fc in {30..37}
do
sgr="${attr}${fc}m"
printf "${CSI}${sgr} %-6s" "[${sgr}"
done
echo -e "${CSI}0m"
done
echo $HR
done
8 ビット カラー
ここの表の 16 ~ 231 の部分を Bash のワン ライナーで。
Bash
seq 16 231 | while read; do printf "\e[48;5;${REPLY}m\e[$((37 - 7 * (($REPLY - 16) % 36 / 18)))m%4s" $REPLY; ((($REPLY - 15) % 36)) || echo -e '\e[m'; done
参考文献
-
プログラマーでないわたしがそこそこ自信があるのは awk と Bash だけです。 (PowerShell はすこしわかってきましたが、学習曲線は awk と Bash よりきついとおもいます。) ↩
-
プログラマーでないわたしがそこそこ自信があるのは awk と Bash だけです。 (PowerShell はすこしわかってきましたが、学習曲線は awk と Bash よりきついとおもいます。) ↩
Author And Source
この問題について(ANSI エスケープ シーケンス カラーでおあそび), 我々は、より多くの情報をここで見つけました https://qiita.com/ktrarai/items/0396d454037eebbd5ad5著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .