今回は、sed スクリプトを取り上げます。取り上げるテーマは、フィボナッチ数列の自動生成です。 フィボナッチ数列とは、最初と2番目の数字が1で、それ以降3番目からの数字はその前の2つの数字の和になる数列です。 1 1 2 3 5 8 13 21 34 55 89 ... sed ではご存知のように、直接的な数値演算の機能はありません。sed に 3 + 5 という数式を与えて、計算させることはできません。そのため、フィボナッチ数列を生成するためには、 すべて文字列として処理する必要があります。 スクリプト s/^.*$/1/ h p p :loop H x s/\n/+/ s/^/=/ :calc /+[0-9]/ { s/^\(.*\)\(.\)$/\2\1/ s/^9/zzzzzzzzz/ s/^8/zzzzzzzz/ s/^7/zzzzzzz/ s/^6/zzzzzz/ s/^5/z