TVアニメ『プリンセス・プリンシパル』 オープニング映像
アニメ『プリンセス・プリンシパル』(2017)
プリプリと略されてるので、軟弱なアニメかと思いきや、結構ハードでした。
ハードなので、ちゃんと撃つし、ちゃんと斬ります。
今回はコマンドラインで文字列の生成です。
中身は使用しないファイルの、名前だけを利用して、文字列定義を生成してみます。
takk@deb9:~/tmp$ ls takk@deb9:~/tmp$ touch {A..Z} takk@deb9:~/tmp$ ls A B C D E F G H I J K L M N O P Q R S T U V W X Y Z takk@deb9:~/tmp$
26個のアルファベットのファイルができました。次に、lsコマンドのオプションを使って、プログラミングに使える文字列定義の形にしてみます。
takk@deb9:~/tmp$ ls -Qm -Itest.c > test.c takk@deb9:~/tmp$ cat test.c "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" takk@deb9:~/tmp$
適当にこの定義を使うプログラムを作ってみます。
takk@deb9:~/tmp$ cat test.c #include <stdio.h> char *str[]={ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" }; int main() { puts(str[1]); } takk@deb9:~/tmp$
ビルドして確認。
takk@deb9:~/tmp$ gcc test.c takk@deb9:~/tmp$ ./a.out B
ランダムな英単語で同じことをやってみましょう。先ほど作ったファイルは全部削除した後、次のコマンドで英単語のファイルを作ります。
takk@deb9:~/tmp$ grep -v "'" /usr/share/dict/words | shuf | head | xargs touch takk@deb9:~/tmp$
ランダムな英単語のファイルが10個できました。
takk@deb9:~/tmp$ ls Byrd Persepolis enunciating lorded strutted Hiram basics lechers roasters trespassed takk@deb9:~/tmp$
あとはlsで文字列定義を生成して出来上がり。
takk@deb9:~/tmp$ ls -Qm "Byrd", "Hiram", "Persepolis", "basics", "enunciating", "lechers", "lorded", "roasters", "strutted", "trespassed" takk@deb9:~/tmp$
コメント