文字列のハイライト部分を変換したいことがあったのでそのメモ。"\e[7maaa\e[m"とすると、aaaをバックグランドと文字色を反転させて表示させる事が出来ます。(文字列はクォートで囲う必要あり。)ここで最初の\eはエスケープで[とmで挟まれた7の数字がこの反転を指定しています。取り消し線などがあります。40-47を使うと背景色をそれらの色に出来ます。"\e[38;05;121maaa\e[m"の様に、38;05;を指定すると、その後に256色に割り当てられた番号を指定できます。colorを有効にする最後にリセットするために\e[m(番号指定なし)を入れてあります。\033(8進法)または\x1B(16進法)でもOK。代わりに使うことも出来ます。(表示上は^[となります。これを直接打ってもダメ。"s/^[\[[0-9;]*m//g"後ろの^[で始まってmで終わる文字列で中に数字か;が入っている部分を削除しています。Escで入力しています。(上のを直接コピペしても上手くいきません。エスケープ文字で直接。[は返還前の所ではエスケープする必要があります。logこれでlogのなかを見ると^[[01;31m^[[Ka^[[m^[[Kこんな感じで\e[Kが各ハイライトの文字列に追加されて付いています。あってもなくてもちょっとやってみた感じでは同じでした。このままだとKの部分が邪魔して間違った答えが出ます。(aだけなので1になってほしい。${#z}1とすればOK。追記ここまでsentaku上の変換はsentakuの中で色付きの文字列を扱う時に必要になったものです。対話的に選択して選択したものを出力させるものです。シェルスクリプトでできているので大概のところで動くと思います。(BashでもZshでも。関数などを使うことで拡張できる様にしてあります。自分では結構使っています。