10,000,000 桁の数字列があります。数値は何も区切られておらず、すべて次のように詰め込まれています (円周率で最初の 10,000,000 桁の長い文字列です):
1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
sed を使用して、各数値を 16 進数の色の値に置き換えようとしています。これが私のコードです:
sed -e 's/0/#F5F5F5/' -e 's/1/#FFE4B5/' -e 's/2/#98FB98/' -e 's/3/#ADFF2F/' -e 's/4/#FF69B4/' -e 's/5/#BA55D3/' -e 's/6/#FF6347/' -e 's/7/#2E8B57/' -e 's/8/#8B4513/' -e 's/9/#000000/' < pi > pi2
問題は、sed が 16 進コード置換から数値の変換を開始することです。それらのコンバージョンはそのままにしておきたいです。どうすればそれを防ぐことができますか? これが十分に明確であることを願っています。
次のような結果になります。
#FFE#FF#FF634#2E#8B4513B57#000000B4B#BA55D34159#98FB986535897932384626433832795#F5F5F528841971693993751