创建一个包含所有可能的字符和数字组合的文件夹

创建一个包含所有可能的字符和数字组合的文件夹

我想创建一个类似“example.txt、example.Txt、example.TxT...所有可能的组合”的文件夹。

答案1

对于具有 csh 样式大括号扩展支持的 shell:

mkdir example.{t,T}{x,X}{t,T}

使用zsh,您可以将其缩短为:

mkdir example.{tT}{xX}{tT}

如果您启用该braceccl选项(我不会建议全局启用该选项,因为它与大括号的其他一些用法发生冲突)set -o braceccl

如果你想所有可能的字母和数字组合,假设您想要限制为 ascii 字母和数字(而不是 Unicode 中不同脚本的数千个其他字母和数字),使用bashzshksh93

mkdir example.{{a..z},{A..Z},{0..9}}{{a..z},{A..Z},{0..9}}{{a..z},{A..Z},{0..9}}

zsh -o braceccl可以将其缩短为:

mkdir example.{a-zA-Z0-9}{a-zA-Z0-9}{a-zA-Z0-9}

但由于这是 238328 ((26+26+10) 3 ) 目录,您可能会达到execve()参数和环境大小的限制。您可以通过使用内置函数(通过执行 )或执行以下操作来解决mkdirzsh问题zmodload zsh/files

 printf '%s\n' example.{{a..z},{A..Z},{0..9}}{{a..z},{A..Z},{0..9}}{{a..z},{A..Z},{0..9}} |
   xargs -0 mkdir

相关内容