■ 05. n-gram sedを使えば結構簡単だった。 % echo 'abcdefghijkl' | sed ':;h;s/\(...\).*/\1/p;g;s/.//;t;d' abc bcd cde def efg fgh ghi hij ijk jkl \(.\{3\}\)と書けばわかりやすいか。 ■ 06. 集合 #シェル芸 和集合、積集合、差集合はすべてjoinコマンドで可能。 % bi-gram() { echo "$1" | sed ':;h;s/\(.\{2\}\).*/\1/p;g;s/.//;t;d' | sort -u; } % bi-gram paraparaparadise ad ap ar di is pa ra se % bi-gram paragraph ag ap ar gr pa ph ra % join <(bi-gram paraparapara