生成任意大小的文件
dd
if表示输入文件(input file);
of表示输出文件(output file);
bs指定了以字节为单位的块大小(block size);
count表示需要被复制的块数。
$ dd if=/dev/zero of=junk.data bs=1M count=1
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.00767266 s, 137 MB/s
文本文件的交集与差集
comm命令可用于比较两个已排序的文件
交集(intersection):打印出两个文件所共有的行。
求差(difference):打印出指定文件中所包含的互不相同的那些行。
差集(set difference)1:打印出包含在文件A中,但不包含在其他指定文件(例如B和C)中的那些行。
$ sort A.txt -o A.txt ; sort B.txt -o B.txt
(1) 首先执行不带任何选项的comm:
$ comm A.txt B.txt
(2) 为了打印两个文件的交集,我们需要删除前两列,只打印出第三列。-1选项可以删除第 一列,-2选项可以删除第二列,最后留下的就是第三列:
$ comm A.txt B.txt -1 -2
(3) 删除第三列,就可以打印出两个文件中互不相同的那些行:
$ comm A.txt B.txt -3
(4) 可以使用tr(在第2章中讲到过)删除制表符来合并两列:
$ comm A.txt B.txt -3 | tr -d '\t'
(5) 通过删除不需要的列,我们就可以分别得到A.txt和B.txt的差集。
A.txt的差集
$ comm A.txt B.txt -2 -3 -2 -3 删除第二列和第三列。
B.txt的差集
$ comm A.txt B.txt -1 -3