zoukankan      html  css  js  c++  java
  • 系统运维易忘点总结之四

    字串截取的方法
    1.使用${变量名:起始位置:长度}
    2.expr substr "$var" 起始位置 长度
    3.echo $var|cut -b 起始位置-结束位置   (索引从1开始)

    字串替换:
    ${变量名/old/new} #只替换第1个匹配结果
    ${变量名//old/new}#替换全部

    字符串掐头:
    “#”号表示删除头部,“*”通配
    从左向右,最短匹配删除:${变量名#*关键词}
    从左向右,最长匹配删除:${变量名##*关键词}

    字符串去尾:
    “%”号表示删除尾部
    从右往左,最短匹配删除:${变量名%关键词*}
    从右往左,最长匹配删除:${变量名%%关键词*}

    shell变量名初始值预设:${var:-word}

    expect预期交互
    软件包:expect

    egrep过滤工具用法:
    1.egrep 【选项】'正则表达式' 文件..
    2.前置命令 | egrep 【选项】'正则表达式'


    sed工具用法
    1.前置命令 | sed【选项】‘编辑指令’
    2.sed【选项】‘编辑指令’文件
    常见命令选项:-n屏蔽默认输出;-i:直接修改文件内容;-r:启用扩展的正则。
    编辑指令可以是/正则/或行号
    动作指令:p打印行;d删除行;s字符串替换
    如1:2,4p是输出第2、3、4行;
    如2:2p;4p:输出第2行、第4行
    如3:s/old/new/3 :将每行的第3个old替换为new
    文本块的处理:
    i:行前插入文本,如:2iYY 是指在第2行之前添加文本行“YY”
    a:行后插入文本
    c:替换当前行,如:2cYY 是指将第2行的内容修改为“YY”
    文件的导入导出操作:
    r:读取文件,即导入。如:3r b.txt 指在第3行下方插入文件b.txt
    w:保存到文件,如:3w cx.txt 指将第3行另存为文件cx.txt
    sed复制剪切:
    模式空间(“存储行”)和保持空间(“剪贴板”)
    复制操作:H:模式空间---【追加】--->保持空间;h:模式空间---【覆盖】--->保持空间
    粘贴操作:G:保持空间---【追加】--->模式空间;g:保持空间---【覆盖】--->模式空间
    如:sed '1h;2H;1,2d;$G' reg.txt 表示将第1到第2行剪切到文件末尾


    AWK工具
    awk【选项】‘【条件】{指令}’文件
    -F:指定分隔符,如:awk -F: '{print $1,$5}' /etc/passwd
    内置变量:FS与-F选项的功能意一样;
    $n:指定分隔的第n个字段,即第几列;
    $0:当前读入的整行文本内容;
    NF:列数
    NR:行数
    过滤三阶段:BEGIN{} ....{} ....END{}
    awk流程控制

    假设是一种超能力
  • 相关阅读:
    LOJ164 高精度除法
    CQOI2013 新Nim游戏 和 BZOJ1299 巧克力棒
    UOJ514 通用测评号 和 CF891E Lust
    CF526F Pudding Monsters 和 CF997E Good Subsegments
    UOJ513 清扫银河
    SNOI2020 水池
    NOI2015 品酒大会 和 SNOI2020 字符串
    SNOI2020 生成树
    BJOI2020 封印
    UOJ523 半前缀计数
  • 原文地址:https://www.cnblogs.com/Haihong72H/p/12301141.html
Copyright © 2011-2022 走看看