unix系统管理员工具包: 充分利用 zsh
2007-05-11 08:12:58 来源:WEB开发网例如,若要列出所有的 C 源文件,您可以使用 清单 1。
清单 1. 列出所有的 C 源文件$ ls *.c
barney.c betty.c fred.c wilma.c
并且您可以使用字母集合(就像您可能在正则表达式中使用的那样),例如,用于列出具有“c”或“o”扩展名的文件,如清单 2 所示。
清单 2. 列出具有“c”或“o”扩展名的文件$ ls *.[co]
barney.c betty.c fred.o
barney.o fred.c wilma.c
使用 zsh,相同的通配符仍然有效,但是您还可以使用扩展的 globbing 来指定附加选项。若要启用扩展的 globbing,可以设置 EXTENDEDGLOB 环境变量,或者使用: $ setopt extendedglob。
您现在可以使用诸如 ^ 字符等构造,以显示与给定的文件规范不匹配的所有文件。例如,若要列出与 *.c 规范不匹配的所有文件,可以使用清单 3。
清单 3. 列出与 *.c 不匹配的文件zsh$ ls ^*.c
barney.o betty.h fred.h fred.o
表达式 <x-y> 匹配一系列整数。例如,如果您已使用日期对访问日志归档,则可以选择在某个特定日期范围内的所有文件。为实现这点,可以按顺序使用年、月、日来对文件命名,并使用零来补齐空缺。例如,若要列出 2006 年 11 月 3 日和 10 日之间的日志,您可以使用清单 4。
清单 4. 列出 2006 年 11 月 3 日和 10 日之间的日志zsh$ ls access<20061103-20061110>.log
access20061103.log access20061106.log access20061109.log
access20061104.log access20061107.log access20061110.log
access20061105.log access20061108.log
更多精彩
赞助商链接