linux shell 脚本攻略学习10--生成任意大小的文件和文本文件的交集与差集详解
一、生成任意大小的文件(dd命令):
举例:
amosli@amosli-pc:~/learn/example$ dd if=/dev/zero of=test.zip bs=2M count=;
+ records in
+ records out
bytes (2.1 MB) copied, 0.0115033 s, MB/s
amosli@amosli-pc:~/learn/example$ ls
test.zip
dd命令介绍:创建特定大小的文件最简单的方法就是使用dd命令,dd命令会克隆给定的输入内容然后将一模一样的一份副本写入到输出。stdin,设备文件,普通文件都可以作为输入,stdout,设备文件,普通文件等都可以作为输出。
对于上面的例子:上面的例子创建了一个test.zip文件,大小为2M,其中if参数并不是判断语句如果的意思,它是input file的缩写,of 是output file 的缩写,bs 代表的是以字节为单位的块大小,block size,count 表示需要被复制的块数。
我们瘵bs指定为2M,count 指定为1得到了一个大小为2M的文件,如果count 为n,那么将得到n*2大小的文件。
单元大小 代 码
字节(1B) c
字(2B) w
块(512B) b
千字节(1024B) k
兆字节(1024KB) M
吉字节(1024M) G
下面是代表内存的操作速度:
bytes (2.1 MB) copied, 0.0115033 s, MB/s
二、文本文件的交集与差集(comm命令)
交集(intersection)和差集(set difference)是数学上的基本概念。下面用comm命令来对文本文件进行比较。
举例:
a.txt ,b.txt
amosli@amosli-pc:~/learn/example$ cat a.txt b.txt
aple #a.txt
orange
gold
iron orange #b.txt
gold
cookies
给两者排序:
amosli@amosli-pc:~/learn/example$ sort a.txt -o a.txt ;
amosli@amosli-pc:~/learn/example$ sort b.txt -o b.txt ;
amosli@amosli-pc:~/learn/example$ cat a.txt b.txt ; aple #a.txt
gold
iron
orange cookies #b.txt
gold
orange
比较两者:
amosli@amosli-pc:~/learn/example$ comm a.txt b.txt ; aple
cookies
gold
iron
orange
amosli@amosli-pc:~/learn/example$
说明:第一列表示只在a.txt 中出现过的数据,第二列表示只在b.txt中出现过的数据,第三列表示两者的交集。
可选参数:
-1 表示从输出中删除第一列
-2表示从输出中删除第二列
-3表示从输出中删除第三列
举例:
取两者交集(删除第一、二列):
amosli@amosli-pc:~/learn/example$ comm a.txt b.txt - - ; gold
orange
取两者不同的值合并到一块:
amosli@amosli-pc:~/learn/example$ comm a.txt b.txt - | sed 's/^\t//';
aple
cookies
iron
上面用到了sed命令,sed中的s表示替换(substitute),/^\t/表示行首的\t(制表符),//表示空,用空来替换即表示删除行首的\t,然后合并输出。
那么两者的差集是什么样的?
amosli@amosli-pc:~/learn/example$ comm a.txt b.txt - -
cookies
a.txt 内容减去b.txt内容即为上述内容。
接下来将会介绍文件权限方面的内容,敬请期待。
linux shell 脚本攻略学习10--生成任意大小的文件和文本文件的交集与差集详解的更多相关文章
- linux shell 脚本攻略学习20--awk命令入门详解
awk生于1977年,创始人有三个,分别为 Alfred Aho,Peter Weinberger, 和 Brian Kernighan,名称源于三个创始人的姓的首字母. 作用:处理文本文件. awk ...
- Linux Shell脚本攻略学习总结:一
终端打印 终端打印的常用命令有两个:echo和print 首先,我先介绍echo 1.echo echo这个命令接受三种形式的参数,实例如下: echo "Hello World" ...
- linux shell 脚本攻略学习14--head命令详解,tail命令详解
当要查看上千行的大文件时,我们可不会用cat命令把整个文件内容给打印出来,相反,我们可能只需要看文件的一小部分地内容(例如文件的前十行和后十行),我们也有可能需要打印出来前n行或后n行,也有可能打印除 ...
- linux shell 脚本攻略学习13--file命令详解,diff命令详解
一.file命令详解 find命令可以通过查看文件内容来找出特定类型的文件,在UNIX/ Linux系统中,文件类型并不是由文件扩展名来决定的(windows中却正是这么做的),file命令的目的是从 ...
- linux shell 脚本攻略学习8---md5校验,sort排序,uniq命令详解
一.校验与核实 目前最为出名的校验技术是md5sum和sha1sum,它们对文件内容使用相应的算法来生成校验和. 举例: amosli@amosli-pc:~/learn$ md5sum text.t ...
- linux shell 脚本攻略学习 -- head命令详解, tail命令详解
当要查看上千行的大文件时,我们可不会用cat命令把整个文件内容给打印出来,相反,我们可能只需要看文件的一小部分地内容(例如文件的前十行和后十行),我们也有可能需要打印出来前n行或后n行,也有可能打印除 ...
- linux shell 脚本攻略学习12--文件权限详解,chmod命令详解,chown命令详解,chattr命令详解
文件权限详解 一.chmod命令详解 文件权限和所有权是Unix/Linux文件系统最显著的特征之一.linux中的每一个文件都与多种权限类型相关联,在这些权限中主要分类为3种: 用户(User)是文 ...
- linux shell 脚本攻略学习16--wc命令详解,tree命令详解
在文本处理的工作中,统计文件的行数,单词数和字符数非常有用.而对于开发人员本身来说,统计LOC(line of code ,代码行数)是一件重要的工作.linux中有什么命令可以帮助我们做统计呢?没错 ...
- linux shell 脚本攻略学习11--mkdir和touch命令详解
一.创建目录(mkdir命令详解) amosli@amosli-pc:~/learn$ mkdir dir amosli@amosli-pc:~/learn/dir$ mkdir folder amo ...
随机推荐
- 【Scala】Scala学习资料
Scala学习资料 java 树形 分类器_百度搜索 决策树分类器-Java实现 - CSDN博客 KNN分类器-Java实现 - CSDN博客 学习:java设计模式—分类 - 飞翔荷兰人 - 博客 ...
- 个基于TensorFlow的简单故事生成案例:带你了解LSTM
https://medium.com/towards-data-science/lstm-by-example-using-tensorflow-feb0c1968537 在深度学习中,循环神经网络( ...
- Pandas DataFrame学习笔记
对一个DF r1 r2 r3 c1 c2 c3 选行: df['r1'] df['r2':'r2'] #包含r2 df[df['c1']>5] #按条件选 选列: df['c1'] ...
- Spring中的代理模式
代理模式 所谓代理,就是一个人或者一个机构代表另一个人或者另一个机构采取行动.在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用. 代理模式是一种 ...
- [Functional Programming] Arrow contramap vs map and promap
In previous post, Arrow Functor with contramap, we have seen how to opreating on params before we in ...
- ASP入门(十三)-Server对象
Server 对象用于处理服务器上的一些特殊任务,例如,创建组件实例.获取文件路径.执行ASP脚本文件等. Server 对象是体现 ASP 强大功能的一个对象,之前介绍的对象都是针对获取.请求以及简 ...
- IIS发布网站遇到 编译器错误消息: CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary 编
编译错误: 说明:在编译向该请求提供服务所需资源的过程中出现错误.请检查下列特定错误详细信息并适当地修改源代码. 编译器错误消息:CS0016: 未能写入输出文件“c:\Windows\Microso ...
- JavaScript 将行结构数据转化为树形结构,可提供给常用的tree插件直接使用(高效转化方案)
前台接收到的数据格式 var rows=[{ parent: 'root', id: 'DC', title: '集团' }, { parent: 'DC', id: '01', title: '上海 ...
- 【Python】将对象存成json文件及从json取出对象
常用代码,单拎出来以备查. 对象存json文件: import json obj={'name':'张有财','age':39,'arr':[2,34,5,6,7,88,'李有钱']} with op ...
- 10 个超炫绘制图表图形的 Javascript 插件【转载+整理】
原文地址 现在,有很多在线绘制图表和图形(Charts and Graphs)的 JavaScript 插件,这些插件还都是免费,以及图表库.这些插件大量出现的原因是基于一个事实:人们不再依赖于 Fl ...