分页: 1 / 1

ls用法

发表于 : 2005-10-07 22:20
eexpress
看网页看到的

代码: 全选

shopt extglob 能在命令行采用扩充的正则表达式: 

?(pattern-list) 匹配零个或一个模式。 
*(pattern-list) 匹配零个或多个模式。 
+(pattern-list) 匹配一个或多个模式。 
@(pattern-list) 确切匹配模式。 
!(pattern-list) 匹配除指定模式以外的任何字符。

例如:ls -lad !(*.p?(df|s)) 将列出 当前目录下非 pdf 和 ps 文件。
但是

代码: 全选

$ ls -lad !(*.p?(df|s))
bash: !(*.p?(df|s)): event not found
而且命令不进入历史。

发表于 : 2005-10-07 23:14
zhuzhzh
ls -l | grep -e '[^p(df|s)]'

发表于 : 2005-10-07 23:31
eexpress
我就是想试试,并理解他那个写法。grep的不需要。

发表于 : 2005-10-08 14:14
leal
eexpress 写了:我就是想试试,并理解他那个写法。grep的不需要。
先使用 shopt -s extglob 设置extglob 为 on(shopt -u extglob 置为off)
然后再试用那个命令 :)

shopt -- show option
extglob -- extend glob 扩展通配符?

发表于 : 2005-10-08 14:25
eexpress
我就是在家里执行了
shopt extglob on
不行。
原来还有带 -s

发表于 : 2005-10-08 14:38
leal
不用on
直接shopt -s extglob
set
-u
unset
shopt 看所有opt设置状态