我想创建一个文件夹,例如“ example.txt,example.Txt,example.TxT ...所有可能的组合。
带有csh样式的括号扩展支持的shell:
mkdir example.{t,T}{x,X}{t,T}
使用zsh
,您可以将其缩短为:
mkdir example.{tT}{xX}{tT}
如果您启用的braceccl
选项(我不建议您全局启用该选项,因为它与花括号的其他用法有一些冲突)set -o braceccl
。
如果你想要的字母和数字的所有可能的组合,假设你想限制为ASCII字母和数字(而不是其他成千上万的信件和Unicode中不同的脚本的数字),与bash
,zsh
或ksh93
:
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()
参数和环境大小的限制。你可以解决,通过使用内置mkdir
的zsh
(做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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句