深入探索文件与目录操作
1. 花括号扩展的奥秘
花括号扩展并非模式匹配的一种形式,无论是否存在对应的文件,它都会生成所有元素。例如, myfile.[ch] 会扩展为 myfile.c 和 myfile.h 中实际存在的文件。若想让花括号作为普通字符,在 bash 中可关闭 braceexpand 选项,在 zsh 中可开启 ignore_braces 选项。
较新的 shell 还提供了其他扩展功能。可以使用两个数字中间加两个点来表示一个完整的数字范围,这种语法借鉴自 Perl。在 zsh 中,还能为数字添加前导零:
% echo {1..10}
1 2 3 4 5 6 7 8 9 10
zsh% echo {01..10}
01 02 03 04 05 06 07 08 09 10
这常用于文件操作,比如创建从 data1.txt 到 data10.txt 的 10 个文件:
% touch data{1..10}.txt
此外, zsh 还有一个较特殊的选项 braceccl ,用于处理不包含逗号或两个点的花括号
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



