榕叶 发表于 2018-5-25 07:51:01

linux通配符整理

  通配符:bash支持文件通配, globbing
  *:任意长度的任意字符;
  ?: 任意单个字符;
  []: 指定范围内的任意单个字符;
  : 所有的数字
  :所有的小写字母
  :所有的大写字母
  :所有的字母
  :所有的数字和字母
  

  不区分大小写;
  

  字符集合:
  [:digit:] : 所有数字, 相当于0-9
  , [[:digit:]]
  [:lower:]:所有的小写字母
  [:upper:]:所有的大写字母
  [:alpha:]: 所有的字母
  [:alnum:]: 相当于
  [:space:]: 空白字符
  [:punct:]:所有标点符号
  [^]:脱字符,取反,指定范围外的任意单个字符,[^0-9]

  

  例子:
  1、复制/etc目录下以p开头,中间跟了任意字符,并以d结尾的文件至/tmp目录中;
  2、复制/etc/目录下以p开头,中间跟了4个任意字符,并以d结尾的文件至/tmp/a目录中;如果a不存在,先创建出来;
  3、复制/etc/目录下以任意一位数字开头,并以非数字结尾的文件至/tmp/b目录中;
  4、复制/etc/目录下以非字母开头,后面跟了一个字母及其它任何长度字符的文件至/tmp/c目录中;
  

  答案:
  1、# cp -r /etc/p*d/tmp
  2、# mkdir /tmp/a; cp -r /etc/p????d/tmp/a/
  3、# mkdir /tmp/b; cp -r /etc/*[^0-9]/tmp/b/
  4、# mkidr /tmp/c; cp -r /etc/[^a-zA-Z]* /tmp/c/
  
页: [1]
查看完整版本: linux通配符整理