一、生成任意大小的文件(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--生成任意大小的文件和文本文件的交集与差集详解的更多相关文章

  1. linux shell 脚本攻略学习20--awk命令入门详解

    awk生于1977年,创始人有三个,分别为 Alfred Aho,Peter Weinberger, 和 Brian Kernighan,名称源于三个创始人的姓的首字母. 作用:处理文本文件. awk ...

  2. Linux Shell脚本攻略学习总结:一

    终端打印 终端打印的常用命令有两个:echo和print 首先,我先介绍echo 1.echo echo这个命令接受三种形式的参数,实例如下: echo "Hello World" ...

  3. linux shell 脚本攻略学习14--head命令详解,tail命令详解

    当要查看上千行的大文件时,我们可不会用cat命令把整个文件内容给打印出来,相反,我们可能只需要看文件的一小部分地内容(例如文件的前十行和后十行),我们也有可能需要打印出来前n行或后n行,也有可能打印除 ...

  4. linux shell 脚本攻略学习13--file命令详解,diff命令详解

    一.file命令详解 find命令可以通过查看文件内容来找出特定类型的文件,在UNIX/ Linux系统中,文件类型并不是由文件扩展名来决定的(windows中却正是这么做的),file命令的目的是从 ...

  5. linux shell 脚本攻略学习8---md5校验,sort排序,uniq命令详解

    一.校验与核实 目前最为出名的校验技术是md5sum和sha1sum,它们对文件内容使用相应的算法来生成校验和. 举例: amosli@amosli-pc:~/learn$ md5sum text.t ...

  6. linux shell 脚本攻略学习 -- head命令详解, tail命令详解

    当要查看上千行的大文件时,我们可不会用cat命令把整个文件内容给打印出来,相反,我们可能只需要看文件的一小部分地内容(例如文件的前十行和后十行),我们也有可能需要打印出来前n行或后n行,也有可能打印除 ...

  7. linux shell 脚本攻略学习12--文件权限详解,chmod命令详解,chown命令详解,chattr命令详解

    文件权限详解 一.chmod命令详解 文件权限和所有权是Unix/Linux文件系统最显著的特征之一.linux中的每一个文件都与多种权限类型相关联,在这些权限中主要分类为3种: 用户(User)是文 ...

  8. linux shell 脚本攻略学习16--wc命令详解,tree命令详解

    在文本处理的工作中,统计文件的行数,单词数和字符数非常有用.而对于开发人员本身来说,统计LOC(line of code ,代码行数)是一件重要的工作.linux中有什么命令可以帮助我们做统计呢?没错 ...

  9. linux shell 脚本攻略学习11--mkdir和touch命令详解

    一.创建目录(mkdir命令详解) amosli@amosli-pc:~/learn$ mkdir dir amosli@amosli-pc:~/learn/dir$ mkdir folder amo ...

随机推荐

  1. svn“Previous operation has not finished; run 'cleanup' if it was interrupted“报错的解决方法

    今天碰到了个郁闷的问题,svn执行clean up命令时报错“Previous operation has not finished; run 'cleanup' if it was interrup ...

  2. LTR之RankSvm

    两种对比: 1.深度学习CNN提特征+RankSVM 之前的博客:http://www.cnblogs.com/bentuwuying/p/6681943.html中简单介绍了Learning to ...

  3. 【R】自定义函数方法

  4. javascript扩展时间方法,格式化,加减日期

    /** *对Date的扩展,将 Date 转化为指定格式的String *月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, *年(y)可以用 1-4 个占位符 ...

  5. linux安装experss搭建本地服务器

    准备nodejs和npm 保证本地安装了nodeJS和npm,如果没有安装的话,通过下面的命令进行安装: sudo apt-get install nodejs //安装nodeJS sudo apt ...

  6. MyCat - 使用篇

    Mycat水平拆分之十种分片规则: http://www.cnblogs.com/756623607-zhang/p/6656022.html 数据库路由中间件MyCat - 使用篇(5) 配置MyC ...

  7. Windows 服务安装教程

    一.安装服务1.已管理员的身份启动CMD2.输入 cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 回车3.输入 InstallUtil.exe Win ...

  8. c/c++ 函数指针的用法

    [目录] 基本定义 c 函数指针使用举例 c++ 函数指针使用举例 函数指针作为函数参数 函数指针作为函数返回值 函数指针数组 typedef 简化函数指针操作 c语言函数指针的定义形式:返回类型 ( ...

  9. 共享权限ACL列表出现SID现象

    http://www.minasi.com/forum/topic.asp?TOPIC_ID=16842 Basically here's what happens, and why it doesn ...

  10. Zabbix通过Nginx状态来监控网站并发量

    一.开 启Nginx状态 一.安装Nginx 执行命令:yum install nginx 二.启动Nginx 执行命令:systemctl start nginx 三.配置Nginx开启Status ...