• 学习bash——通配符与特殊符号


    一、通配符

      这是bash操作环境中一个非常有用的功能,这让我们使用bash处理数据就更方便了。

      常用通配符如下:

    符号 意义
    * 代表0个到无穷多个任意字符
    ? 代表一个任意字符
    [] 代表一定有一个在中括号内的字符(非任意字符)
    [-] 若有减号在中括号内,代表在编码顺序内的所有字符
    [^] 若中括号内的第一个字符为^,则表示原向选择

    【示例区】

    预处理:LANG=C; alias ll=ls -al

    题目1:找出/etc/下面以cron为开头的文件名

    命令:ll -d /etc/cron*      //加上-d仅仅是为了显示目录而已

    题目2:找出/etc/下面文件名刚好是五个字母的文件名

    命令:ll -d ?????

    题目3:找出/etc/下面文件名含有数字的文件名

    命令:ll -d /etc/*[0-9]*

    题目4:找出/etc/下面文件名开头不是小写字母的文件名

    命令:ll -d /etc/[^a-z]*

    题目5:将题目4找到的文件复制到/tmp中

    命令:cp -a /etc/[^a-z]* /tmp

    二、特殊符号

    符号 内容
    # 批注符号,常用于script中,视为说明。
    转义符号,将“特殊字符或通配符”还原成一般字符
    | 管道(pipe),分隔两个管道命令的界定
    ; 连续命令执行分隔符
    ~ 用户的主文件夹
    $ 使用变量前导符,即是变量之前需要加的变量替代值
    & 作业控制,将命令变成背景下工作
    ! 逻辑运算意义上的“非”的意思
    / 目录符号,路径分隔的符号
    >,>> 数据流重定向,输出导向,分别是“替换”与“累加”
    <,<< 数据流重定向,输入导向
    ' ' 单引号,不具有变量置换的功能
    " " 具有变量置换的功能
    ` ` 两个`中间为可以先执行的命令,也可使用$()
    () 在中间为子shell的起始与结束
    {} 在中间为命令块的组合

      我们的文件名应尽量避免使用到上述的字符。

  • 相关阅读:
    首页调单个产品分类的推荐产品,最新产品和热卖商品
    ecshop模板<! TemplateBeginEditable name="左上角主区域" >用法
    复制DataTable数据到新DataTable
    定时任务时间与当前时间比较的方法
    批量删除文件夹下包含指定字段的文件
    SQL 字符串去除空格函数
    Javascript的IE和Firefox(火狐)兼容性的常用例子
    查询表某列的加权平均值
    Jquery实现页面定时跳转
    Date.parse Firefox返回Nan的解决办法
  • 原文地址:https://www.cnblogs.com/xzxl/p/7610476.html
Copyright © 2020-2023  润新知