💡

シェルスクリプトで16進数2桁のフォルダ名を作成する方法

2024/03/01に公開2

ファイルを作るのが面倒な人のために、ヒアドキュメントで実行してます。

bash -e <<\EOF
mkdir -p /tmp/aaa
arr=(0 1 2 3 4 5 6 7 8 9 a b c d e f)
for i in "${arr[@]}"; do
  for j in "${arr[@]}"; do
    mkdir -p /tmp/aaa/$i$j
  done
done
EOF

bashスクリプトで動作を確認しました。

シェルスクリプトでの16進数の扱いが大変で、💡っと「配列でやれるじゃん」という閃きがあったので共有です。

さらにループを増やせば、4桁ぐらいまでは見づらくならずに済みそうです。

Discussion

ko1nksmko1nksm

こんな感じでできます。

printf '/tmp/aaa/%02x\n' {0..255} | xargs mkdir -p