• shell(三)


    shell 工具

    cut

    cut,在文件中负责剪切数据,从文件的每一行剪切字节、字符、字段 并将这些字节、字符、字段 输出,不会改变原文件

    基本用法

    cut [选项参数] filename

    选项参数有以下:

    • -f :列号,提取第几列,提取多列用 逗号 隔开,如 2,3;取第几列后所有的用 列号-,如 3-

    • -d :分隔符,不写默认指定分隔符tab切割,类似于Java的split

    sed

    sed 是一种 流编辑器,一次处理一行内容,处理时,把当前处理的行存储在临时缓冲区中,称为 "模式空间",接着用 sed 命令处理缓冲区中的内容,处理完后,把缓冲区的内容送往屏幕,接着处理下一行,这样不断重复,直接文件末尾。文件的内容没有改变,除非使用重定向存储输出

    基本用法

    sed [选项参数] 'command' filename

    选项参数有如下:

    • -e :直接在指令列模式上进行sed的动作编辑,需要执行多个命令功能时使用

    sed -e "2d" -e "s/wo/ni/g" sed.txt

    命令功能:

    • a :新增,a 的后面可以接字符串,在下一行出现,na 即第几行后面增加

    sed "2a mei nv" sed.txt

    • d :删除

    sed "/wo/d" sed.txt

    • s :查找并替换

    sed "s/wo/ni/g" sed.txt ,g 表示全局替换

    awk

    文本分析工具,把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行分析处理

    基本用法

    awk [选项参数] 'pattern1{action1}' 'pattern2{action2}' ... filename

    • pattern :匹配模式,表示awk 在数据中查找的内容

      • 空行的正则: "^$"

    • action :在找到匹配内容时所执行的一系列命令,$ i 为第 i 列,BEGIN 为首行,END为尾行

    • 选项参数

      • -F :指定分隔符,类似Java的split

      • -v :定义一个变量,可同时赋值

    • 内置贝纳利

      • FILENAME :文件名

      • NR :已读的记录数,读取的行的数量

      • NF :切割后,列的个数

    ##以root开头的行,第7列
    awk -F ':' '/^root/{print $7}' passwd
    ##以root开头的行,第1列和第7列,中间逗号分开
    awk -F ':' '/^root/{print $1","$7}' passwd
    ##打印第1行和第7行,第一行加上user,shell, 最后一行加上ending,all
    awk -F ':' 'BEGIN{print "user,shell"} {print $1","$7} END{print "ending,all"}' passwd
    ##第3列都 +1
    awk -F ':' -v i=1 '{print $3+i}' passwd
    ##打印文件名,行数,列数
    awk -F : '{print FILENAME","NR","NF}' passwd

    sort

    基本语法

    sort (排序参数)(文件列表) , 将文件进行排序,并将排序结果标准输出

    排序参数如下:

    • -n :依照数值的大小排序

    • -r :以相反的顺序排序

    • -t :设置排序时所用的分隔字符,进行切割

    • -k :指定切割后用来排序的列

    文件列表: 指定待排序的文件列表

    ## 以 : 切割后,按第二列的数值倒序
    sort -t : -nrk 2 sort.sh


  • 相关阅读:
    iOS 完美解决 interactivePopGestureRecognizer 卡住的问题
    Entity Framework 的事务 DbTransaction
    EntityClient 介绍
    ObjectQuery查询及方法
    Entity SQL 初入
    LINQ to Entities 查询注意事项
    IQueryable接口与IEnumberable区别
    CodeFirst 的编程方式
    Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作
    实体框架(Entity Framework)简介
  • 原文地址:https://www.cnblogs.com/yjh1995/p/13160563.html
Copyright © 2020-2023  润新知