• Day14 文本处理三剑客


    1、文本处理三剑客命令
    sed
    awk
    grep
    2、文件查找命令
    find

    3、上传下载
    wget
    curl

    rz
    sz

    4、输出与重定向
    >
    >>

    5、字符处理命令
    sort排序
    uniq去重
    cut处理有规律的文本
    tr替换
    wc统计

    6、打包压缩
    tar


    一 sed
    什么是sed?

    sed->流式编辑器


    为何用sed?
    sed 对比 vim
    1、sed可以把处理文件的规则事先写好,然后用同一套规则编辑多个文件
    而vim只能一个个编辑===》用于用一套规则处理多个文件

    2、sed处理文件,一次只处理一行,即同一时间内存中只有文件的一行内容
    无论文件多大,都不会对内存造成过大的压力====》用于处理大文件

    如何用sed
    sed 选项 '规则' 文件


    选项:
    -n 取消默认输出
    -i 把输出到屏幕中的内容(规则处理的结果+默认输出的结果)

    规则:定位+命令
    定位方式:
    行号定位:
    sed '1p' a.txt 打印第一行
    sed '1,3p' a.txt
    sed '3p;5p' a.txt

    正则定位
    sed '/^egon$/p' a.txt

    没有定位代表定位所有行

    命令:
    d
    p
    s///gi



    sed '1,3s/egon/EGON/' 文件
    sed '/^egon/s/egon/EGON/' 文件


    二 awk
    主要擅长处理有规律的文本,主要用于做一些格式化处理


    awk 选项 '规则' 文件路径

    选项:
    -F: 指定分隔符

    规则:定位+命令

    定位:
    行号定位:
    awk -F: 'NR == 3{print $1,$3}' /etc/passwd
    awk -F: 'NR >= 3 && NR <=5{print $1,$3}' /etc/passwd
    awk -F: 'NR <= 3 || NR >=8{print $1,$3}' test.txt
    awk -F: 'NR == 3 || NR ==5 || NR==7{print $1,$3}' test.txt

    正则定位
    awk -F: '//{print $1,$2}' 文件路径

    没有定位代表定位所有行

    命令:
    {print $n}

    sed 选项 '定位+命令' 文件路径
    awk -F: '定位+命令' 文件路径


    sed 选项 '3,5p' 文件路径

    awk -F: 'NR>=3 && NR<=5{print $0}' 文件路径

    三 grep
    擅长过滤


    grep 选项 "过滤规则" 文件

    grep -n "root" /etc/passwd # 显示行号

    grep -i "" /etc/passwd # 忽略大小写
    grep -l 'egon' a.txt # 如果文件中但凡是存在包含egon的行就算过滤成功,会返回文件名






    [root@web01 ~]# ps aux |grep 'vim'
    root 9825 0.0 0.5 151692 5212 pts/1 S+ 12:05 0:00 vim a.txt
    root 10190 0.0 0.0 112724 988 pts/0 R+ 12:30 0:00 grep --color=auto vim
    [root@web01 ~]# ps aux |grep '[v]im'
    root 9825 0.0 0.5 151692 5212 pts/1 S+ 12:05 0:00 vim a.txt
    [root@web01 ~]#
    [root@web01 ~]# kill -9 9825




    windows
    ctrl+alt+delete


    C:Usersoldboy>taskkill /F /PID 12080
    成功: 已终止 PID 为 12080 的进程。

    C:Usersoldboy>tasklist | findstr "WeChat.exe"
    WeChat.exe 11412 Console 1 127,836 K

    C:Usersoldboy>taskkill /F /PID 11412
    成功: 已终止 PID 为 11412 的进程。


  • 相关阅读:
    C# 使用 sid 连接 Oracle(无需安装 Oracle 客户端)
    命令模式(Command Pattern)
    仅仅使用Google就完成了人生第一次破解
    GeoServer跨域问题
    List与DataTable相互转换
    GeoServer2.14.1修改端口
    坐标转换C#(Gcj02、wgs84、bd09互转)
    nginx启动报错(1113: No mapping for the Unicode character exists in the target multi-byte code page)
    C# 操作 Mongodb
    DocumentFormat.OpenXml导出word合并(文件被另一个进程占用)
  • 原文地址:https://www.cnblogs.com/blackboy666/p/13866154.html
Copyright © 2020-2023  润新知