通配符 and [] 中括号的用法

通配符 and [] 中括号的用法

文件通配符

  • 非预定义的字符类:
*         匹配零个或多个字符
?         匹配任何单个字符
~         当前用户家目录
~username     用户username家目录
~+        当前工作目录
~-        前一个工作目录
[0-9]     匹配数字范围
[a-z]     字母
[A-Z]     字母
[wang]    匹配列表中的任何的一个字符
[^wang]   匹配列表中的所有字符以外的字符
  • 预定义的字符类 man 7 glob
[:digit:]    任意数字,相当于0-9
[:lower:]    任意小写字母
[:upper:]    任意大写字母
[:alpha:]    任意大小写字母
[:alnum:]    任意数字或字母
[:blank:]    水平空白字符
[:space:]    水平或垂直空白字符
[:punct:]    标点符号
[:print:]    可打印字符
[:cntrl:]    控制(非打印)字符
[:graph:]    图形字符
[:xdigit:]   十六进制字符
[^[:upper:]] 排除大写字母
[^[:lower:]] 排除小写字母
[^[:digit:]] 排除数字

示例

  • 预定义的字符类示例

通过 ls f[a-Z] 查看到的是大小写混起来的,排列顺序是 a A b B ... z Z

要想单独查看大写字母或小写字母命名的文件,需要使用 [[:lower:]][[:upper:]]

由于 [:lower:] 等价于 a-z, [:upper:] 等价于 A-Z,所以需要载外面加上 []

[[email protected] app]$ls f[a-z]
fa  fB  fd  fE  fg  fH  fj  fK  fm  fN  fp  fQ  fs  fT  fv  fW  fy
fA  fc  fD  ff  fG  fi  fJ  fl  fM  fo  fP  fr  fS  fu  fV  fx  fY
fb  fC  fe  fF  fh  fI  fk  fL  fn  fO  fq  fR  ft  fU  fw  fX  fz
[[email protected] app]$ls f[[:lower:]]
fa  fc  fe  fg  fi  fk  fm  fo  fq  fs  fu  fw  fy
fb  fd  ff  fh  fj  fl  fn  fp  fr  ft  fv  fx  fz
[[email protected] app]$
[[email protected] app]$ls f[A-Z]
fA  fc  fD  ff  fG  fi  fJ  fl  fM  fo  fP  fr  fS  fu  fV  fx  fY
fb  fC  fe  fF  fh  fI  fk  fL  fn  fO  fq  fR  ft  fU  fw  fX  fz
fB  fd  fE  fg  fH  fj  fK  fm  fN  fp  fQ  fs  fT  fv  fW  fy  fZ
[[email protected] app]$ls f[[:upper:]]
fA  fC  fE  fG  fI  fK  fM  fO  fQ  fS  fU  fW  fY
fB  fD  fF  fH  fJ  fL  fN  fP  fR  fT  fV  fX  fZ
[[email protected] app]$
  • 预定义的字符类和其他的混用
[[email protected] app]$ls f[[:lower:]357]
f3  f7  fb  fd  ff  fh  fj  fl  fn  fp  fr  ft  fv  fx  fz
f5  fa  fc  fe  fg  fi  fk  fm  fo  fq  fs  fu  fw  fy
  • 排除
[[email protected] app]$ls f[^[:upper:]]
f1  f3  f5  f7  f9  fb  fd  ff  fh  fj  fl  fn  fp  fr  ft  fv  fx  fz
f2  f4  f6  f8  fa  fc  fe  fg  fi  fk  fm  fo  fq  fs  fu  fw  fy
[[email protected] app]$ls f[^[:lower:]]
f1  f3  f5  f7  f9  fB  fD  fF  fH  fJ  fL  fN  fP  fR  fT  fV  fX  fZ
f2  f4  f6  f8  fA  fC  fE  fG  fI  fK  fM  fO  fQ  fS  fU  fW  fY
[[email protected] app]$ls f[^[:digit:]]
fa  fB  fd  fE  fg  fH  fj  fK  fm  fN  fp  fQ  fs  fT  fv  fW  fy  fZ
fA  fc  fD  ff  fG  fi  fJ  fl  fM  fo  fP  fr  fS  fu  fV  fx  fY
fb  fC  fe  fF  fh  fI  fk  fL  fn  fO  fq  fR  ft  fU  fw  fX  fz
[[email protected] app]$ls f[^0-9]
fa  fB  fd  fE  fg  fH  fj  fK  fm  fN  fp  fQ  fs  fT  fv  fW  fy  fZ
fA  fc  fD  ff  fG  fi  fJ  fl  fM  fo  fP  fr  fS  fu  fV  fx  fY
fb  fC  fe  fF  fh  fI  fk  fL  fn  fO  fq  fR  ft  fU  fw  fX  fz
[[email protected] app]$
  • 仅显示但当前目录下的隐藏文件或文件夹 ls -d .[^.]* ls -d .* l.

l. 其实就是 ls -d .* 的别名

[[email protected] ~]$ls -d .[^.]*
.abrt          .cache     .gconf   .gtk-bookmarks   .local         .tcshrc
.bash_history  .config    .gconfd  .gvfs            .nautilus      .viminfo
.bash_logout   .cshrc     .gnome2  .ICEauthority    .pulse
.bash_profile  .dbus      .gnote   .imsettings.log  .pulse-cookie
.bashrc        .esd_auth  .gnupg   .lesshst         .ssh
[[email protected] ~]$
[[email protected] ~]$ls -d .*
.              .bashrc    .gconf          .gvfs            .pulse
..             .cache     .gconfd         .ICEauthority    .pulse-cookie
.abrt          .config    .gnome2         .imsettings.log  .ssh
.bash_history  .cshrc     .gnote          .lesshst         .tcshrc
.bash_logout   .dbus      .gnupg          .local           .viminfo
.bash_profile  .esd_auth  .gtk-bookmarks  .nautilus
[[email protected] ~]$
[[email protected] ~]$l.
.              .bashrc    .gconf          .gvfs            .pulse
..             .cache     .gconfd         .ICEauthority    .pulse-cookie
.abrt          .config    .gnome2         .imsettings.log  .ssh
.bash_history  .cshrc     .gnote          .lesshst         .tcshrc
.bash_logout   .dbus      .gnupg          .local           .viminfo
.bash_profile  .esd_auth  .gtk-bookmarks  .nautilus
[[email protected] ~]$

https://www.cnblogs.com/shichangming/p/10011073.html

原文地址:https://www.cnblogs.com/shichangming/p/10011073.html

时间: 2024-11-04 22:41:30

通配符 and [] 中括号的用法的相关文章

谈谈JS里的{ }大括号和[ ]中括号的用法

谈谈JS里的{ }大括号和[ ]中括号的用法,理解后就可以看懂JSON结构了. 一.{ } 大括号,表示定义一个对象,大部分情况下要有成对的属性和值,或是函数. 如:var LangShen = {"Name":"Langshen","AGE":"28"}; 上面声明了一个名为"LangShen"的对象,多个属性或函数用,(逗号)隔开,因为是对象的属性, 所以访问时,应该用.(点)来层层访问:LangShe

【shell】Linux shell中括号的用法

Linux shell中括号的用法 概述 本文主要介绍Linux中括号的用法,主要包含判断文件和变量. **注意事项**:中括号两边必须有空格. 使用中括号会涉及到的知识 &&.|| 在本文对文件或者变量做判断的时候,可能会多次使用到&&和||这两个符号,所以在我们进入中括号的学习之前首先了解一下这两个符号的作用. &&:并 --> 两真才为真,如果有两个条件,第一个为真,那么肯定会判断第二个条件:如果第一个条件为假,那么第二个条件将不会判断.(第一个

Struts 之 通配符 路径匹配 常量用法 配置默认值

Struts 框架学习 Action的开发的几种方式 方式1 : 继承ActionSupport     如果使用Struts校验功能,必须继承此类 方式2 : 实现Action接口 方式3 :不继承任何类,不实现任何接口 1.通配符: 在Struts中配置信息,可以用*与{1} 可以优化配置 public class UserAction { private String userName; public void setUserName(String userName) { this.use

JS中括号的用法

转自:http://blog.csdn.net/hongmin118/article/details/4584023 我们在一些JS代码中经常可以看到这样的用法 :(function(){})();那这些括号是做什么用的呢?下面我们来测试一下就知道了 (function(){alert('zol');});运行后,没有反映(相当于第一函数) (function(){alert('zol');})();运行后,弹出 zol (function(){alert('zol');})(alert('wi

JAVA 泛型通配符 ? EXTENDS SUPER 的用法

1. <? extends Hero> ArrayList heroList<? extends Hero> 表示这是一个Hero泛型或者其子类泛型heroList 的泛型可能是HeroheroList 的泛型可能是APHeroheroList 的泛型可能是ADHero所以 可以确凿的是,从heroList取出来的对象,一定是可以转型成Hero的 但是,不能往里面放东西,因为放APHero就不满足<ADHero>放ADHero又不满足<APHero> 2.

linux 通配符、元字符和特殊字符

bash环境中非常有用的功能:通配符.转义字符和特殊字符 下面将逐一介绍 一. 通配符 通配符是一种特殊语句,主要有星号(*).问号(?)等表示,用来模糊搜索文件,当查找目录或文件时,可以使用通配符来代替一个或多个真正字符. 作用范围:目录和文件名 常见通配符:常用通配符包括 "*"."?" ."[ ]". "[^ ]" ."[! ]"和"{}",具体含义见下表 表1-1 通配符具体含义

正则表达式的基本用法

Perl 有很多其它语言所没有的特性,这其中对正则表达式(regular expression)的强大支持是它最为突出的一个亮点.正则表达式使得 perl 在处理文本时具有非常强大的优势:快速,灵活而且很可靠,甚至可以说,强大文本处理能力,是 perl 在众多语言中最为闪耀的一个特点. 因此学习 perl 的过程,必然也是学习正则表达式的过程,这或许多少给 perl 的学习增加了些少的负担,但好在正则表达式并不是 perl 所独有的, 它是一门使用非常广泛的语言,在很多工具及其它编程语言中都有广

select用法

每一次操作select的时候,总是要出来翻一下资料,不如自己总结一下,以后就翻这里了. 比如<select class="selector"></select> 1.设置value为pxx的项选中 $(".selector").val("pxx"); 2.设置text为pxx的项选中 $(".selector").find("option[text='pxx']").attr(&qu

在ls命令中使用通配符

通配符比较简单.我们已经知道通配符常常是在shell终端中用来匹配文件名的,今天来看一下在ls命令中使用通配符的例子. 用法:ls [选项]... [文件]... ls本身也有很多的选项,我们今天不看选项,而是看它的参数部分. 现在我们当前目录总共有如下8个文件 $ ls 1.c 1.cpp 1.h 3.c 3.cpp 3.h a.out readme 列出全部文件 $ ls * 1.c 1.cpp 1.h 3.c 3.cpp 3.h a.out readme 列出1开头的.并且扩展名是1个字符