• 文本处理三剑客


    文本处理三剑客

                            sed

                            awk

                            grep

    一、sed 流式编辑器

    1、sed可以把文件规则事先写好,同一套规则 、编辑多个文件

    2、sed 处理文件,一次只处理一行 ,内存中只有文件的一行内容

    sed  选项   "规则"   文件  》 组成

           选项             

    sed -n     (取消默认输出)

    sed -i        输出到源文件 硬盘规则处理结果 + 默认输出结果)

               

                       规则

                              【定位 + 命令】

                                 定位 就是 ***行号***

                                                             ** sed   '1,3s/love/you/'   a.txt

                                                                 sed   '1p:3p'   a.txt

                                              

    正则定位

                  sed 's/^you/love/'  a.txt

    命令有 :d、p、s///gi

    没有定位代表  定位所有  行数

                                                    { 可以替换文件内容 }

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

    awk   选项   ‘规则’   文件路径

              选项

    awk  -F :  【 :分隔符 】

    awk  -F.

    awk  -F" "

                    ***规则= 定位 行号  + 命令***

                        定位 行号

                                       &&    并且 的意思(按的 发音)

                                        ||      或者 的意思

                                       NR    指行号“符号”

                                       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,$9}'   文件路径

    命令

           {print $ }

    没有定位代表  定位所有  行数

    三、grep 过滤

    grep   选项   '过滤规则'   文件

    grep -n""    # 显示 序列 行数号 1,2,3,4,5,6,7,8............................

    grep -i""     # 忽略大小写

    grep -l""(是L)如果有 "定位内容" 就会返回文件名

     

    grep 过滤 就是显示 "定位内容"  过滤掉其它无关内容

                                    [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
                 
                                    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 的进程。

  • 相关阅读:
    shell快捷键
    通过调整tcp参数来防范DDOS攻击
    解决 nf_conntrack: table full, dropping packet 的几种思路
    Linux系统资源限制
    解决Out of socket memory问题
    wrk简介
    部分 TCP 参数简介
    P1706 全排列问题
    P1149 [NOIP2008 提高组] 火柴棒等式
    P1104 生日
  • 原文地址:https://www.cnblogs.com/dachangtui/p/13866306.html
Copyright © 2020-2023  润新知