月名のみを含むディレクトリの作成

月名のみを含むディレクトリの作成

気になって質問をしましたが、1月、2月…~12月のようなディレクトリを作りたくて個別に名前をつけて作りました。 (mkdir January February...etc.)すべての月名を含むディレクトリまたはファイル名を簡単に作成できますか?

例: touch {1..10}10 個のファイル 1,2,3...10 が簡単に生成されます。このような月名のファイルやディレクトリを生成する他のソリューションはありますか?

ベストアンサー1

POSIXly、

(IFS=';'; set -f; mkdir -- $(locale mon))

これは現在の言語の月名です。LC_ALL=C locale monユーザーの言語に関係なく英語が必要な場合に置き換えます。

Passを使用すると、特別な連想配列(モジュール内)をzsh使用することもできます。$langinfozsh/langinfo

zmodload zsh/langinfo
eval mkdir -- '$langinfo[MON_'{1..12}']'

しかし、

mkdir -- ${(s:;:)"$(locale mon)"}

短くなります。rc/には、Bourneなどのシェルのグローバル設定をes介さずに区切り文字を指定する分割演算子を持つ他のシェルがあります。$IFS

mkdir -- ``';'{locale mon}

おすすめ記事