1:文本处理工具:

  1:diff and patch : diff是比较文件或者目录的不同,主要有3个用法: diff file1 file2 :比较file1和file2的不同;diff -u file1 file2 >file.path :比较他们的不同并且生成file.path的补丁文件;比较目录的不同:diff -r test1 test2 .

     patch :打补丁,这个命令一般没有,需要用yum install patch -y 来装。diff -u file1 file2 >file.path :生成的补丁file.path 这样用:把file1变的和file2一样:patch file1 file.path  . 但是如果要想把file2变的和file1一样:diff -R file2 file1 .

  2:grep :过滤,过滤的是字符,或者文件中的内容。

    grep xx file :直接寻找file中有xx的行。

    grep -i xx file :过滤的时候不考虑大小写。

    grep -n xx file :找出xx的行,并且在最前面显示行数。   grep -3 xx file :显示xx所在的行,并且显示它前后三行的内容。

    grep -r xx test :执行递归式搜索,不仅显示test中有xx的行,如果test有子目录,还会一直往下搜索。

    grep -c xx file :显示在file中xx总共有多少行,只会显示行数。

    grep -v xx file :显示除过xx行,其他的所有行。

    grep ^root file :查找file中以root开头的行。         grep root$ file :查找file中以root结尾的行。

    有时参数和命令不是单个使用的,会和 | 配合多条命令一起使用达到效果。

  3:cut :剪切文件中的文本字段,并且将其显示到标准输出,不会改变原文件的内容。

    cut -d : -f 2 file :“-d : ”表示指定分隔文件的符号为“ : ” ;“-f 2 ”表示截取以":分隔后的第二段。

    cut -d : -f 2,3 file :表示截取分隔后的2和3段。

    awk命令:对于内容为以下的文件: 1     2    3  4   如果想把2截出来,执行这个命令是不行的。  cut -d " " -f 2 file  截出的内容是空格。

            这个时候就只能用awk命令了。  awk -F " " '{print $2}' file  它可以忽略空格的个数而把2截出来。

    eg:从ifconfig中只把ip截出来:ifconfig eth0|grep "inet "|awk -F " " '{print $2}'  or  ifconfig eth0|grep inet|grep inet6 -v|awk -F " " '{print $2}'

  4:sort命令和uniq命令:(file为一个纯数字文件,对于含有汉字和数字的文件,汉字默认会被排到数字前面)

    sort : sort -n file :从小到大排列。   sort -nr file :从大到小。  sort -nru file :从大到小排列并且剔除重复的部分。

           sort -n file |uniq -u    如果file中有重复的行,会被忽略,不会显示重复的行。

           sort -n file |uniq -d    与-u相反,它会把所有的重复行显示出来。

           sort -n file |uniq -c    标准输出中会有两行,左边一行是数字个数,右边一行是不重复的数字排列。即如果有两个二 会显示 2 2 

  5:tr:转换大小写。  tr 'a-z' 'A-Z' <file   把file全部转换成大写输出。

                    tr 'a-h' 'A-H'  <file  把a-h的字母全部转换成大写输出。

几个简单的文本处理工具:diff,patch,grep,cut,sort,tr的更多相关文章

  1. Linux学习总结(十八)几个简单的文本处理工具cut sort tr split

    1 命令cut 用来截取某一个字段格式 : cut -d '分隔符' [-cf] n, n为数字,表示第几段-d:后面跟分隔符,分割符要加单引号-c:后面接的是第几个字符-f:后面接的是第几段那么意思 ...

  2. Linux Shell 文本处理工具集锦--Awk―sed―cut(row-based, column-based),find、grep、xargs、sort、uniq、tr、cut、paste、wc

    本文将介绍Linux下使用Shell处理文本时最常用的工具:find.grep.xargs.sort.uniq.tr.cut.paste.wc.sed.awk:提供的例子和参数都是最常用和最为实用的: ...

  3. Shell第二篇:正则表达式和文本处理工具

    一 什么是正则 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. 生活中处处都是正则:     比如我们描述:4条腿   ...

  4. BASH 正则表达式和文本处理工具

    本节内容 1.  什么是正则 2.  grep 3.  sed 4.  awk 5.  其他补充 一  什么是正则 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方 ...

  5. 三大文本处理工具grep、sed及awk的简单介绍

    grep.sed和awk都是文本处理工具,虽然都是文本处理工具单却都有各自的优缺点,一种文本处理命令是不能被另一个完全替换的,否则也不会出现三个文本处理命令了.只不过,相比较而言,sed和awk功能更 ...

  6. Linux正则与文本处理工具(10)

    正则表达式 (Regular Expression, RE, 或称为常规表达式)是通过一些特殊字符的排列,用于『查找/替换/删除』一行或多行文字或字符串,简单的说,正则表达式就是用在字串的处理上面的一 ...

  7. R语言:用简单的文本处理方法优化我们的读书体验

    博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html 前言 延续之前的用R语言读琅琊榜小说,继续讲一下利用R语言做一些简单的文本处理.分词的事情.其实 ...

  8. Pyp 替代sed,awk的文本处理工具

    Linux上文本处理工具虽不少,像cut,tr,join,split,paste,sort,uniq,sed,awk这些经典工具让人眼花缭乱,而且都太老了,使用方法都不太人性化,尤其awk,语法简直反 ...

  9. Unix文本处理工具之awk

    Unix命令行下输入的命令是文本,输出也都是文本.因此,掌握Unix文本处理工具是很重要的一种能力.awk是Unix常用的文本处理工具中的一种,它是以其发明者(Aho,Weinberger和Kerni ...

随机推荐

  1. Jmeter扩展组件开发(3) - 实现方法

    继承JavaSamplerClient,四种实现方法讲解 前提 JavaSamplerClient要把四种实现方法都继承,编译器才不会报错. com.demo(package包)右键新建一个secon ...

  2. 集合转数组:toArray()最优化方法探索

    优化背景 有些场景下(比如入参要求)需要将集合(比如List)转为数组类型,利用集合的toArray方法应该最为方便的,对于toArray()无参方法其返回的是Object[],强制转其他类型数组会C ...

  3. Kubernetes-Pod介绍(四)-Deployment

    前言 本篇是Kubernetes第七篇,大家一定要把环境搭建起来,看是解决不了问题的,必须实战. Kubernetes系列文章: Kubernetes介绍 Kubernetes环境搭建 Kuberne ...

  4. python学习1-博客-DB操作类

    #学习python,准备写一个博客,第一天:在别人代码基础上写一个数据库操作的db.py1)python代码 #!/usr/bin/env python # -*- coding: UTF-8 -*- ...

  5. 『Python』matplotlib实现动画效果

    一般而言,在绘制复杂动画时,主要借助模块animation来完成 import numpy as np import matplotlib.pyplot as plt import matplotli ...

  6. Windows命令行在任意位置启动和退出nginx

    写在前面 本文给出Windows系统中能在任意路径下通过命令行启动和退出nginx的方法.不想看过程的读者可以直接跳转到结论,一样能解决问题. 正文 过程 很多Windows下的nginx教程都教我们 ...

  7. CF11D-A Simple Task【状压dp】

    正题 题目链接:https://www.luogu.com.cn/problem/CF11D 题目大意 给出\(n\)个点\(m\)条边的一张简单无向图,求它的简单环的个数. \(1\leq n\le ...

  8. github注册教程最新版(十年程序员保姆级教程)

    您可以在墨抒颖的网站体验本文章的纯净版 准备 拥有一个可以接受信息的邮箱即可 开始 点击github官网github step1.进入注册页面 点击Sign Up进入注册流程 step2.输入邮箱 这 ...

  9. 5.java内存模型详细解析

    一. java结构体系 Description of Java Conceptual Diagram(java结构) 我们经常说到JVM调优,JVM和JDK到底什么关系,大家知道么?这是java基础. ...

  10. 低代码BPM平台

    为了做出明智的决策并为客户提供服务,员工需要在正确的环境中使用正确的工具和访问关键信息的权限.但是,当业务关键信息分散在多个现成的和自定义编码的应用程序中时,员工效率会降低,客户体验也会受到影响. 低 ...