もっと楽な方法がありました。
シェルスクリプトで、アルファベット一覧を使いたい時がある。
例えば、
「ほげA」
「ほげB」
「ほげC」
なんてディレクトリを作りたい時、数字であればseqを使えばそれで済むのだが
アルファベットだと簡単な方法が分からない。(あるのかもしれないが)
それでたどり着いたのが、以下の方法
1 2 3 4 |
$ for i in `seq 65 90 ` > do > printf "%b\n" $(printf "%s%x" "\\x" $i) > done |
ワンライナーだとこんな感じ
1 |
$ for i in `seq 65 90 `; do printf "%b\n" $(printf "%s%x" "\\x" $i); done |
簡単な説明としては、seqで65から90まで出力します。
これは、asciiコードの10進数で、A〜Zになります。
※詳細は、man asciiで確認
次にprintfで16進数にして、文字の前に\xを付けてあげます。
1 2 |
$ printf "%s%x" "\\x" 65 \x41 |
これを、printfで%bで出力します。
1 2 |
$ printf "%b\n" $(printf "%s%x" "\\x" 65) A |
と、こんな感じです。
小文字にしたい場合は、97から122にしてあげます。
これでシェルスクリプト時に、アルファベット一覧が使えます。
pythonならこんなの感じ?
1 |
$ python -c "import string; print '\n'.join(string.ascii_uppercase)" |