Linux 命令行文本处理工具

 一.基于关键字搜索

     命令grep用以基于关键字搜索文本

      grep  'Haige'  /ect/passwd

      find  /  -user  hadoop  | grep haige

    # -i   在搜索的时候忽略大小写

    # -n  显示结果所在行数

    # -v  输出不带关键字的行

    # -Ax 在输出的时候包含结果所在行之后的指定行数

    # -Bx 在输出的时候包含结果所在行之前的指定行数

Linux 命令行文本处理工具_第1张图片


 二.基于列处理文本

    命令cut用以基于列处理文本内容

    cut  -d:-f1  /etc/passwd (使用:作为分割符,处理/etc/passwd文件,之后再显示第一列)

    grep haige /etc/passwd | cut -d:-f3 (输出haige那一行的第三列)

   # -d  指定分割字符 (默认是TAB)

   # -f   指定输出的列号

   # -c  基于字符进行切割

      cut  -c2-6   /etc/passwd

Linux 命令行文本处理工具_第2张图片


Linux 命令行文本处理工具_第3张图片


 三.文本统计

     命令wc用以统计文本信息

         例:wc haige

    # -l    只统计行数

    # -w  只统计单词

    # -c   只统计字节数

    # -m  只统计字符数

Linux 命令行文本处理工具_第4张图片


 四.文本排序

     命令sort用以对文本内容进行排序

      例: sort haige

    # -r   进行倒序排序

    # -n  基于数字进行排序

    # -f   忽略大小写

    # -u  删除重复行

    # -t c 使用c作为分割符分割为列进行排序

    # -k x 当进行基于指定字符分割为列的排序时,指定基于那个列的排序

Linux 命令行文本处理工具_第5张图片


Linux 命令行文本处理工具_第6张图片


 五.删除重复行

   1.命令 sort -u 可以用以删除重复行

   2.命令uniq 用以删除重复的相邻行

Linux 命令行文本处理工具_第7张图片


 六.文本比较

     命令diff用以比较两个文件的区别

      例:diff    haige  haige-new

    # -i  忽略大小写(比较的时候)

    # -b 忽略空格数量的改变

    # -u 统一显示比较信息(一般用以生成patch文件(补丁文件))

      diff  -u  haige  haige-new  > final.patch

Linux 命令行文本处理工具_第8张图片


 七.处理文本内容

     命令tr用以处理文本内容

   1.删除关键字

     tr - d 'TMD' < haige

   2.转换大小写

     tr 'a-z' 'A-Z' < haige

Linux 命令行文本处理工具_第9张图片


 八.搜索替换

     命令sed用以搜索并替换文本

     # sed 's/linux/unix/g' haige(正则表达式:搜索haige的文件,把所有的linux替换成unix,/g如果出现多个匹配项,则都去匹配)

     # sed '1,50s/linux/unix/g' haige(替换1-50行)

     # sed -e 's/linux/unix/g' -e 's/nash/nash_su/g' haige(指定多个替换匹配命令)

     # sed -f sededit haige(指令保存在匹配文件中,使用-f调用该文件)

Linux 命令行文本处理工具_第10张图片


你可能感兴趣的:(Linux,系统学习笔记)