• linux--文本处理


    开源文化的核心理念之一就是不要重复发明轮子,很多开源软件都大量使用了其他开源软件或功能组建,同样,Linux中的命令也往往只实现某个特定的、单一的功能,复杂功能往往都是通过多命令协作完成的

    管道及重定向就是Linux多命令协作的基础机制

    Linux的Shell对数据流进行以下分类定义: 

    stdin     标准输入  编号为:0   默认:键盘

    stdout   标准输出  编号为:1   默认:终端

    stderr    标准错误  编号为:2   默认:终端

    重定向用来控制终端数据流:

    >        将标准输入以覆盖形式重定向到指定文件,如:ls > outfile

    >>      将标准输入以追加形式重定向到指定文件,如:ls >> outfile

    <        重定向标准输入   如:grep linuxcast < /etc/passwd

    2>      重定向标准错误

    2>&1   将标准错误合并到标准输出中

    管道“|”用以将一个命令的标准输出作为另一个命令的标准输入:

    命令1  |  命令2

    管道通常用来组合不同命令

    重定向通常用来保存输出信息

    关键字搜索:

    grep  关键字  指定文件

    -i   搜索时忽略大小写

    -n  显示结果所在行

    -v  显示不包含关键字的行

    基于列的文本处理:

    cut -d: -f1 /etc/passwd

    -d  指定分割字符

    -f  指定显示列

    -c  基于字符顺序进行列分割

    文本统计:

    wc linuxcast

    -l   只统计行数

    -w  只统计单词书

    -c   只统计字节数

    -m  只统计字符数 


    文本排序:

    sort linuxcast

    -r   倒序排序

    -n   基于数字进行排序

    -f   忽略大小写

    -u   删除重复行

    文本比较:

    diff linuxcast-1 linuxcast-2

    -i   忽略大小写

    -b  忽略空格数变化

    -u  统一显示信息(一般用于生成patch文件)

    文本转换:

    tr -d "TMD" < linuxcast     删除指定关键字

    tr 'a-z' 'A-Z' < linuxcast    转换大小写

    搜索替换:

    sed 's/linux/unix/g' linuxcast   将所有linux关键字替换为unix

  • 相关阅读:
    Kera高层API002
    Kera高层API
    手写数字问题实战(层)
    函数优化实战
    反向传播算法
    链式法则
    多输出感知机及其梯度
    JDBC
    mysql查询操作1
    内部类
  • 原文地址:https://www.cnblogs.com/persist/p/3369148.html
Copyright © 2020-2023  润新知