文本处理命令
sort
uniq


sort命令:
sort命令的功能是对文件中的各行进行排序
格式:sort [opt] file1,file2…
根据从输入行抽取的一个或多个关键字进行比较来完成排序,默认以整行为关键字按ASCII字符顺序进行排序


sort常用选项:
-m 若给定文件已排好序,合并文件
-c 检查给定文件是否已排好序,如果它们没有都排好序,则打印一个出错信息
-o 输出文件 将排序输出写到输出文件中而不是标准输出
-f 忽略字母的大小写
-r 按逆序输出排序结果




uniq命令 :
用以删除指定文件中重复的行
格式: uniq [opt] filename
常用选项:
-c 显示输出中,在每行行首加上本行在文件中出现的次数
-d 只显示重复行
-u 只显示文件中不重复的各行



文件比较和应用更改命令
diff 比较命令
patch 应用更改命令


diff命令:
用以逐行比较两个文本文件,并列出其不同之处
格式:diff [opt] from_file to_file
输出格式有三种:列举方式、命令模式和上下文模式
diff 命令显示以 <开始的第一个文件中的所有受影响行,然后显示以 >开始的第二个文件中的所有受影响行
在上下文输出格式时,-开始的行表示第一个文件多出的,+开始的行表示第一个文件缺少的,!表示两个文件不同的行
常用选项:
-b 忽略行尾空格,且视字符串中的多个空格为1个
-c 采用上下文件输出格式
-C n 采用上下文格式输出,且只提供n行上下文
-u 采用统一输出格式
-r 当指定from_file和to_file为目录时,则递归比较目录中的文件

diff例子:



patch命令:

通过读入patch命令文件(可以从标准输入),对目标文件进行修改
通常patch使用diff的结果来完成打补丁的工作
格式:patch [options] [originalfile] [patchfile]
如果需要修改的是目录,一般都必须在patchfile中记录目录下的各个文件名;绝大多数情况下,patch都用以下这种简单的方式使用:
patch -p[num] <patchfile
-p 0 使用完整路径名
-p 1 除去前导斜杠
-p n 除去前导n个斜杠

patch命令使用举例:
将前面的两个文件用diff生成补丁,而后用于原文件a.txt上