首页 > 系统服务 > 详细

《linux 字符处理》

时间:2019-02-16 17:48:44      阅读:209      评论:0      收藏:0      [点我收藏+]

一:基本

  • 字符处理主要是文本的搜索和处理。
  • 搜索也主要使用到了 管道 作为媒介。

 

二: grep 搜索文本

  • 基本语法
    • * grep [-incv] ’文本’ 文件
          * i 不区分大小写
          * c 匹配行数
          * n 输出行号
          * v 反向匹配
  • n 匹配行号
    • -n 可以匹配列出匹配到的字符的行号
    • $ grep -n ‘php‘ Login.php
          1:<?php
          4: * @file:   Login.php
  • c 匹配行数
    • 匹配字符出现次数
    • $ grep -c ‘php‘ Login.php
          2
  • v 反向匹配
    • 匹配没有出现的字符的行
    • 比如我要匹配没有出现 ’php‘ 的行
    • $ grep -v ‘php‘ Login.php
      
          /**
           * @author: ..
           * @date:   2018-07-30
           * @brief:  微信小程序登录
           *
          ......

 

三: sort 排序

  • 基本语法
    • * sort [-ntkr] 文件名
          * n 数字排序
          * t 指分隔符
          * k 指定第几列
          * r 反向排序
  • 指定排序
    • -t -k 可以指定排序方式
    • 比如这里,我新建了一个 sort.txt 
      • [mttyk]$ cat sort.txt
        b:1-3
        a:2-2
        f:4-1
        h:8-9
        d:3-6
        h:8-9
        g:6-7
    • 在没有指定条件时候,sort 默认第一个字符正序
      • [mttyk]$ sort sort.txt
        a:2-2
        b:1-3
        d:3-6
        f:4-1
        g:6-7
        h:8-9
        h:8-9
    • 如果想使用第二例的数字来进行排序的话
      • [mttyk]$ sort -t ":" -k 2 sort.txt
        b:1-3
        a:2-2
        d:3-6
        f:4-1
        g:6-7
        h:8-9
        h:8-9
    • 这里可能会不理解, -t 切割了字符 ":" ,那么 -k 是怎么指定的呢,我们把他详细的看看
      • [mttyk]$ sort -t ":" -k 2 sort.txt
        
        1组   切割符   第二组
        b      :      1-3
        a      :      2-2
        ......
    • 同理,如果你想对第三列排序呢?

 

四: uniq 删除重复内容

  • 基本语法
    • * uniq [-ic] 
          * i 忽略大小写
          * c 重复行数
  • 注意
    • uniq 语法应该是和 sort 一起使用的,因为不连续的重复数据,uniq 是无法删除的,所以需要 sort 排序后删除/统计
    • 文件
          h:8-9
          d:3-6
          h:8-9
      
      直接 uniq 删除重复
          [mttyk]$ uniq sort.txt
          h:8-9
          d:3-6
          h:8-9
      无法删除
      
      排序后 uniq 删除重复
          [mttyk]$ sort sort.txt | uniq
          d:3-6
          h:8-9

 

五: tr 文本转换/删除

  • tr 只能在管道中处理字符,不能修改源文件
  • 基本语法
    • 删除指定字符
          tr -d “字符” 
      
      转换字符
          tr "字符" "替换字符"
  • 替换字符时,文本中有多少个字符,就只能替换多少个字符

 

六: paste 文本合并

  • 普通合并
        paste 文本1 文本2
    
    增加合并符号
        paste -d "符号" 文本1 文本2

 

《linux 字符处理》

原文:https://www.cnblogs.com/25-lH/p/10388332.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!