zoukankan      html  css  js  c++  java
  • Linux 正则与文本操作指令

    一、正则

    1. 基础正则表示法
    符号 含义
    [] 有一个的意思,[abc]表示有a或b或c中一个
    [^] 反向选择,不包含
    [a-z] -,指连续的a至z 26个字母
    ^ 行首
    $ 行尾
    转义字符,跳脱字符
    ^$ 空白行
    . 一个字符占位
    * 重复前一字符0至多个
    {n,m} 搜寻包含前一字符n至m个的字符串
    1. 延伸正则表示法
    符号 含义
    + 一个或一个以上的前一个RE字符
    ? 零个或一个前一个RE字符
    | 同时用(or)的方式查找多个字符串
    () 包含。
    ()+ 字符串拼接

    二、文本操作指令

    1. cut
    • cut 以行为单位进行操作
    关键字 操作
    -d 后面接分隔字符。与 -f 一起使用;
    -f 依据 -d 的分隔字符将一段讯息分区成为数段,用 -f 取出第几段的意思;
    -c 以字符 (characters) 的单位取出固定字符区间
    1. tee
    • 双向输出重定向,可以stdin输出到屏幕与文件
    选项 解释
    -a 以累加 (append) 的方式,将数据加入 file 当中
    1. sed
    • sed本身也是一个管线命令,以行为单位进行操作
    • 可以分析stdin,能进行取代,删除,增加,撷取特定行
    • 当文本行数上百万时,可用-i 指令代替vim直接修改部分文本内容
    关键字 操作
    格式 sed [-nfer] 动作
    -n 使用slient模式,只将sed特殊处理的那一行(或动作)列出
    -f 将处理结果输出到文件,-f filename 则可以在文件内进行sed操作
    -e 直接在指令模式上进行sed,超过一个动作时每个动作前都需要-e
    -r sed的动作 支持延伸的正则表示法,默认是支持基础的正则
    -i 直接修改读取的文本内容
    动作 [n1[,n2]]function,动作用单引号包裹, n1,n2表示执行动作的行。(^行首$行尾)
    a add,a 后接的字符串会在新的一行出现(当前行的下一行)
    i insert,i 后接的字符串会在新的一行出现(当前行的上一行)
    d delete,删除
    s substitute,取代,语法同vim(s/目标字段/取代内容/g,可结合正则语法)
    p print,打印,常同-n 一起使用
    1. printf 格式化输出
    关键字 含义
    语法 printf '指定输出格式' 实际内容
    a 警告声音输出
     退格键(backspace)
    f 清除屏幕(form feed)
    换行输出
    即Enter键
    水平的tab按键
    v 垂直的tab按键
    xNN 将数字转换为字符,NN为两位数的数字
    %ns C语言中,n为数字,s代表字符串
    %ni C语言中,n为数字,i代表integer,整数,
    %N.nf C语言中,总共有N位,其中小数点后有n个数字
    1. awk 增强版cut
    • 语法: awk '条件1{动作1} 条件2{动作2}...' filename
    • 以行为一次处理单位
    • 以行内字段为最小的处理单位
    • 默认段之间是用空格或tab隔开的
    • $n,n 为数字,代表行内第几个字段。$1/$2第一/二个字段
    关键字 含义
    条件 满足条件才会执行动作
    filename 需要处理的文件名
    stdout awk也可读取前一个指令的sdtout
    指令间隔 有多个动作时,每个{}内的操作用; 或Enter隔开
    awk变量 含义
    NF 每一行拥有的字段总数,即多少个$
    NR 目前awk所处理的是第几行
    FS 目前段之间分隔字符,默认是空格,手动指定FS=':'
    "常量" awk语句中常量用双引号包裹
  • 相关阅读:
    2020系统综合实践 第3次实践作业
    2020系统综合实践 第2次实践作业
    2020系统综合实践 第1次实践作业
    WireShark组 2019 SDN大作业
    2019 SDN阅读作业
    第07组 Beta版本演示
    OO第四单元总结
    OO第三单元总结
    OO第二单元总结
    OO第一单元总结
  • 原文地址:https://www.cnblogs.com/luckyCoder/p/12732706.html
Copyright © 2011-2022 走看看