床屋シェル芸とは?
こういうgifアニメーションを生成するシェル芸です。
前提条件として textimg がインストールされていること。
コマンドはこう。
$ echo 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪{,,,,,,,,,,,,}{,,,,,,,,,,,,}|tr -d ' '|grep -Eo .'{1,13}'|textimg -asl13 -d5
コマンド解読
解読しましょう。まず最初のecho
$ echo 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪{,,,,,,,,,,,,}{,,,,,,,,,,,,}
🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪$ echo 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪{,,,,,,,,,,,,}{,,,,,,,,,,,,}
🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪ 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪
これは🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪を169回、スペース区切りでプリントします。
{,,,,,,,,,,,,}は{}の中に,が12個入れてあって、これがブレース展開されて、13回の繰り返しになります。
これを2つ並べて、 13x13 = 169 回の繰り返しになります。
つぎにこれを整形します。
$ echo 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪{,,,,,,,,,,,,}{,,,,,,,,,,,,}|tr -d ' '|grep -Eo .'{1,13}'
🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴
🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴
🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴
⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪
⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪
⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪
🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵
🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵
🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵
⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪
⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪
⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪
🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴
🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴
🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴
⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪
⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪
⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪
🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵
🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵
🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵
⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪
⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪
⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪
🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴
🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴
🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴
⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪
⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪
⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪
🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵
🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵
🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵
⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪
⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪
⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪
🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴
🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴
🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴
⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪
⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪
⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪
🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵
🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵
🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵
⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪
⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪
⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪
🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴
🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴
🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴
⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪
⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪
⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪
🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵
🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵
🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵
⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪
⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪
⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪
🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴
🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴
🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴
⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪
⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪
⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪
🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵
🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵
🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵
⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪
⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪
⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪
🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴
🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴
🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴
⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪
⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪
⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪
🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵
🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵
🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵
⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪
⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪
⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪
🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴
🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴
🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴
⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪
⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪
⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪
🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵
🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵
🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵
⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪
⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪
⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪
🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴
🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴
🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴
⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪
⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪
⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪
🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵
🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵
🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵
⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪
⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪
⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪
🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴
🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴
🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴
⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪
⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪
⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪
🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵
🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵
🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵
⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪
⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪
⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪
🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴
🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴
🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴
⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪
⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪
⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪
🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵
🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵
🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵
⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪
⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪
⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪
🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴
🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴
🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴
⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪
⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪
⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪
🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵
🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵
🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵
⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪
⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪
⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪
🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴
🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴
🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴
⚪⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪
⚪⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪
⚪🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪
🔵🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵
🔵🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵
🔵⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵
⚪⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪
⚪⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪
⚪🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪
tr -d ' '
でスペースを除去、grep -Eo .'{1,13}'
で13文字ごとに改行しています。
12文字の繰り返しを、13文字ごとに改行しているので、改行ごとに1文字左にずれていきます。
これをアニメーションにします。
$ echo 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪{,,,,,,,,,,,,}{,,,,,,,,,,,,}|tr -d ' '|grep -Eo .'{1,13}'|textimg -asl13
textimg
コマンドの-a
オプションでアニメーション生成、-s
オプションで /images/ ディレクトリにファイルを出力、-l 13
オプションで13行ごとに区切ってアニメーションのフレームにしています。
ちょっとスピードを上げたいので、-d 5
オプションを指定します。
$ echo 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪{,,,,,,,,,,,,}{,,,,,,,,,,,,}|tr -d ' '|grep -Eo .'{1,13}'|textimg -asl13 -d5
なんでこうなるの?
なんでこういう風になるかというと、長さ12の文字列🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪繰り返しを、13字ごとに改行することで、行が変わるごとに一列左にずれていきます。
で、それを13行ごとにフレームに区切ると、 13 * 13 = 12 * 14 + 1 なので、1フレームは12文字の文字列を14回繰り返して、さらにプラス1文字でできていることになります。
このプラス1文字の分、フレームごとに1文字ずつずれてくれます。
N文字の文字列なら、(N+1)^2回繰り返して、N+1文字で改行して、N+1行でフレームを区切れば、Nフレームのループができるわけです。床屋のサインポールはN=12の場合ですね。
同様に(N-1)^2や、(N-1)*(N+1)でもループさせることができます。
試してみましょう。
(N-1)^2の場合
$ echo 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪{,,,,,,,,,,}{,,,,,,,,,,}|tr -d ' '|grep -Eo .'{1,11}'|textimg -asl11 -d5
$ echo 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪{,,,,,,,,,,,,}{,,,,,,,,,,}|tr -d ' '|grep -Eo .'{1,11}'|textimg -asl13 -d5
$ echo 🔴🔴🔴⚪⚪⚪🔵🔵🔵⚪⚪⚪{,,,,,,,,,,,,}{,,,,,,,,,,}|tr -d ' '|grep -Eo .'{1,13}'|textimg -asl11 -d5
応用
原理はわかったので床屋のサインポール以外にもいろいろループさせてみましょう。
バッテン
for i in {1..169};do echo -en "\U1f7a"{8,9,a,b,c,d,e}|tee >(rev)|tr -d ' ';done|fold -b52|sed 's/./& /g'|textimg -asl13 -d5 -f /usr/share/fonts/truetype/ancient-scripts/Symbola_hint.ttf
$ for i in {1..121};do zsh -c "echo {🞎..🞓}"|tee >(rev)|tr -d \\n' ';done|grep -Eo .'{1,11}'|sed 's/./& /g'|textimg -asl11 -d8 -f /usr/share/fonts/truetype/ancient-scripts/Symbola_hint.ttf
天気
$ echo -en {,,,,,,,,,,}{,,,,,,,,,,}"\U1f32"{{4..9},{9..4..-1}}|tr -d ' '|grep -Eo .'{1,11}'|textimg -asl11 -F40 -d8
まとめ
N文字の文字列を、(N+1)^2回または(N-1)^2回または(N-1)*(N+1)回繰り返して、適当に改行してフレームを区切ってgifにすると、面白い。以上です。