几个简单的文本处理工具:diff,patch,grep,cut,sort,tr
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的更多相关文章
- Linux学习总结(十八)几个简单的文本处理工具cut sort tr split
1 命令cut 用来截取某一个字段格式 : cut -d '分隔符' [-cf] n, n为数字,表示第几段-d:后面跟分隔符,分割符要加单引号-c:后面接的是第几个字符-f:后面接的是第几段那么意思 ...
- 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:提供的例子和参数都是最常用和最为实用的: ...
- Shell第二篇:正则表达式和文本处理工具
一 什么是正则 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. 生活中处处都是正则: 比如我们描述:4条腿 ...
- BASH 正则表达式和文本处理工具
本节内容 1. 什么是正则 2. grep 3. sed 4. awk 5. 其他补充 一 什么是正则 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方 ...
- 三大文本处理工具grep、sed及awk的简单介绍
grep.sed和awk都是文本处理工具,虽然都是文本处理工具单却都有各自的优缺点,一种文本处理命令是不能被另一个完全替换的,否则也不会出现三个文本处理命令了.只不过,相比较而言,sed和awk功能更 ...
- Linux正则与文本处理工具(10)
正则表达式 (Regular Expression, RE, 或称为常规表达式)是通过一些特殊字符的排列,用于『查找/替换/删除』一行或多行文字或字符串,简单的说,正则表达式就是用在字串的处理上面的一 ...
- R语言:用简单的文本处理方法优化我们的读书体验
博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html 前言 延续之前的用R语言读琅琊榜小说,继续讲一下利用R语言做一些简单的文本处理.分词的事情.其实 ...
- Pyp 替代sed,awk的文本处理工具
Linux上文本处理工具虽不少,像cut,tr,join,split,paste,sort,uniq,sed,awk这些经典工具让人眼花缭乱,而且都太老了,使用方法都不太人性化,尤其awk,语法简直反 ...
- Unix文本处理工具之awk
Unix命令行下输入的命令是文本,输出也都是文本.因此,掌握Unix文本处理工具是很重要的一种能力.awk是Unix常用的文本处理工具中的一种,它是以其发明者(Aho,Weinberger和Kerni ...
随机推荐
- Java基础系列(8)- 数据类型
数据类型 强类型语言 要求变量的使用合乎规定,所有的变量都必须先定义才能使用.Java是强类型语言. 弱类型语言 变量定义比较随意,比如"12"+3,可以是int型123,也可以是 ...
- spl_autoload_register 实现自动加载
spl_autoload_register 注册给定的函数作为 __autoload 的实现 bool spl_autoload_register ([ callable $autoload_func ...
- 『Python』matplotlib常用图表
这里简要介绍几种统计图形的绘制方法,其他更多图形可以去matplotlib找examples魔改 1. 柱状图 柱状图主要是应用在定性数据的可视化场景中,或是离散数据类型的分布展示.例如,一个本科班级 ...
- docker 入门(docker 镜像 、容器、仓库)
一.关于docker 镜像 .容器.仓库之间的关系 镜像(Image): 类似于虚拟机 的镜像 容器(Container): 类似于操作系统(或者说是独立的软件), 由镜像可以创建大量的容器. 仓库( ...
- P4258-[WC2016]挑战NPC【带花树】
正题 题目链接:https://www.luogu.com.cn/problem/P4258 题目大意 给出\(n\)个球,\(m\)个篮筐,每个球都可以被放入一些特定的篮筐,每个球都要放,要求球的个 ...
- Python3入门系列之-----环境搭建
前 言 最近一直在学习Python,想用笔记的方式记录自己踩过的那些坑.俗话说:好记性不如烂笔头. 分享给想学Python的小伙伴.目前本人在学习Python+selenium.接口自动化,有兴趣的 ...
- 为什么 Dapr 如此令人兴奋
如今你构建软件,您可以从数量众多的云服务中进行选择.仅 AWS 就每个月都在不断为其200多项服务添加新服务,而其他云提供商也都在跟上. 如果您的公司想与您的竞争对手竞争,您就需要充分利用这些服务,这 ...
- Asp.Net Core 中的HTTP协议详解
1.前言 好久没写博客了,最近虽然没什么假期,但是却比以前还忙!工作.工作.工作,就像赶集似的,聚在一起.对于Web开发人员来说,深入了解HTTP有助于我们开发出更好.更高的Web应用程序.当应用程序 ...
- python-docx处理Word必备工具
我的理解 为什么会用到python-docx,因为近段时间下载了大量网文,但格式都是html的,我个人习惯使用word处理文字,于是就想法设法把html文档转换为word,首先要考虑的问题就是从h ...
- xshell连接VMware中的Linux
[前言]最近想压测一下ITOO的考试系统,所以想在自己电脑上安装一下linux,然后安装一下jmeter进行压测一下. 不过为什么要连接xshell呢,因为在虚拟机上总是会和主机切换鼠标,而且也不能粘 ...