• linux的shell使用


    linux中shell执行注意细节

    语法:  bash  -n a.sh  #检测bash语法是否有错

    bash -vx a.sh    #查看a.sh的执行过程,+代表已经执行的动作

    grep命令的语法:  grep  [OPTIONS]  PATTERN  [FILE...]

    例如:  

    [root@a ~]# sed --help | grep '-r'
    Usage: grep [OPTION]... PATTERN [FILE]...
    Try 'grep --help' for more information.
    [root@a ~]# sed --help | grep '-r'
    -r, --regexp-extended
    [root@a ~]#

    grep ‘-r’     -r参数默认当作选项,没有pattern,使用进行转义后变为pattern

    sed 命令的语法: sed [OPTION]... {script-only-if-no-other-script} [input-file]...

    sed   ' '(模式空间,缓冲区)    file           ‘ ‘相当于屠宰加工厂,对文件进行处理工作

    sed  's/Root/alice/gi'  passwd    s///代表替换,g代表全局,i代表忽略大小写 

    sed  -r   '1~2d'  passswd                    删除奇数行,从第一行开始,每隔2行删除      1、3、5、7、9、……

    sed  -r  '0~2d'    passwd      删除偶数行,  2、4、6、8、……

    sed  -r   '/^Root/{n;s/bin/flash/gi}'  passwd      #其中{}代表sed需要执行的命令有多个;i中的g表示全局,i表示忽略大小写;/^Root/代表匹配到的内容,支持正则表达式语法。

    sed的暂存空间和模式空间理解

    其中h、g代表覆盖;H、G代表追加;h表示将模式空间的内容放到暂存空间,g表示将暂存空间的内容放回模式空间。暂存空间默认为回车符。x代表交换暂存缓存区和模式空间。

    sed   -r   ’1h;$G‘    passwd       #第一行覆盖到暂存空间;最后一行暂存空间追加到模式空间

    sed   -r    '1{h;d};$G'    passwd     #第一行覆盖到暂存空间,然后删除第一行;最后一行暂存空间追加到模式空间

    sed   -r    '1h;2,$g'     passwd      #第一行覆盖到暂存空间;第二行到最后一行从暂存空间覆盖到模式空间

    sed   -r    '4h;5x;$G' passwd     #第四行覆盖到暂存空间;第五行模式空间和暂存空间互换,此时暂存空间为第五行;最后一行暂存空间追加到模式空间

    sed的反向选择

    sed -r    '3d' passwd    #代表删除第三行

    sed    -r     '3!d' passwd   #代表除了第三行,删除其它行

    sed多重编辑选项 -e

    sed    -r    -e   '1,3d'   -e   's/Hema/yuhu/'    filetext

    sed    -r    '1,3d;s/Hema/yuhu/'   filetext

    sed删除注释行和空行

    sed   -r  '^[ ]*#;^[ ]*$'    filetext

    sed   -r   '^[ ]*(#|$)'    filetext

  • 相关阅读:
    c语言函数定义、函数声明、函数调用以及extern跨文件的变量引用
    c语言局部变量 静态局部变量 全局变量与静态全局变量
    Source Insight建工程之Kernel
    day49
    管道实例取出最常用的10个指令
    day52
    Linux中vi的使用
    vi高级技巧
    vim配置
    typedef
  • 原文地址:https://www.cnblogs.com/xiaofeng666/p/12234719.html
Copyright © 2020-2023  润新知