美文网首页
shell字符串截取

shell字符串截取

作者: code_nerd | 来源:发表于2017-10-27 10:49 被阅读0次

    cut 命令

    grep 在文件中提取行,cut awk sed 提取列

    • cut [选项] 文件名
    • -f 提取第几列
    • -d 分隔符 默认分隔符为制表符,当列间隔为空格间隔,应使用awk

    printf 命令

    • printf '输出类型输出格式' 输出内容
      输出类型
    • %ns 输出字符串,n是数字代表输出几个字符
    • %ni 输出整数,n是代表输出几个数字
    • %m,nf 输出浮点数,m和n是数字,m代表几个数字,n代表几个小树,如%8,2f,表示600000.00数字

    输出格式

    • \a 输出警告声音
    • \b 输出退格键
    • \f 清楚屏幕
    • \n 换行
    • \r 回车
    • \t 水平制表符
    • \v 垂直制表符

    awk 命令

    awk '条件一{动作一} 条件2{动作二} ...' 文件名
    条件 一般使用关系表达式作为条件 x>10
    动作 格式化输出,流程控制语句

    print 不需要加换行符



    df -h 查看系统容量使用情况
    grep 截取行
    awk 提取
    cut 截取

    加入begin 开始之前处理

    手动指定分隔符,要加入begin



    END 在所有数据处理之后,在处理END

    FS=":" 用来指定分隔符

    条件判断

    sed 命令

    sed 是一种几乎包括在所有unix平台的轻量流编辑器。sed主要是用来将数据进行选取,替换,删除和新增的命令。

    • sed [选项] '[动作]' 文件名
    • -n一般sed命令会把所有数据都输出到屏幕,如果加入此选项,则会把sed命令处理的行输出到屏幕
    • -e 允许对输入的数据应用多条sed命令编辑
    • -i 用sed的修改结果直接修改读取数据的文件,而不是由屏幕输出

    动作

    • a\ : 追加,在当前行后添加一行或者多行,添加多行,除最后一行,每行末尾都需要用\来完结
    • c: 行替换,用c后面的字符串替换原数据行,替换多行时,除最后一行外,每行末尾都要用\代表数据未完结
    • i: 插入,在当前行插入一行或者多行,插入多行,除最后一行外,每行都需要用\ 表示数据未完结
    • d:删除,删除指定行
    • p: 打印,输出指定的行
    • s: 字符串替换,用一个字符替换另一个字符
      输出指定的行


    删除2,3行


    接收管道符


    字符处理命令

    sort [选项] 文件名

    • -f 忽略大小写
    • -n 以数值型进行排列,默认使用字符串排序
    • -r 反向排序
    • -t 指定分隔符,默认分隔符是制表符
    • -kn[,m] 按照指定的字段范围排序,从n开始m结束,默认到行尾

    sort /etc/passwd
    sort -r /etc/passwd

    按数值排序


    统计命令 wc

    wc [选项] 文件名

    • -l 只统计行数
    • -w 只统计单词
    • -m 只统计字符数

    相关文章

      网友评论

          本文标题:shell字符串截取

          本文链接:https://www.haomeiwen.com/subject/dedrpxtx.html