2010.7.11
文件内容查询命令: grep egrep fgrep<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

grep

Global search Regular Expression and Print out the line( 全面搜索正则表达式并打印之 )

grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 grep 会对匹配一个或多个正则表达式 (pattern) 的文本进行搜索,并只输出匹配的文本而不影响原有内容。

命令格式:     grep [option] [pattern] [file1,file2,…]

常用选项:

-c 只显示匹配行的数量

-i  不区分大小写

-n  对匹配到的行进行编辑

-v  只显示不匹配的行

grep 常用元字符:

v    锚定行的开始

v    锚定行的结束

v    .   匹配一个非换行符的字符

v    匹配零个或多个先前字符

v    [ ]  匹配一个指定范围内的字符

v    \< 锚定单词的开始

v    \>  锚定单词的结束

v    \b  单词锁定符,如 : '\bgrep\b' 只匹配 grep

v    \w  匹配文字和数字字符,也就是 [A-Za-z0-9_]

v    x\{m\} 重复字符 x m 次,如: '0\{5\}' 匹配包含 5 0 的行       

grep 命令一次只能搜索一个指定的模式。为了可以指定多模式,我们可以用 egrep egrep 命令检索扩展的正则表达式(包括表达式组和可选项) , egrep 等价于 grep –E

egrep 新增的元字符:

v    +   匹配一个或多个加号前的字符

v      匹配零个或一个前导字符

v    a|b   匹配 a b

v    匹配零个或多个先前字符

v    ( )  字符组

 

fgrep 命令检索固定字符串,它不识别正则表达式,是快速搜索命令。

 

文本处理命令: sort uniq

sort 命令的功能是对文件中的各行进行排序

格式: sort [opt]  file1,file2…

根据从输入行抽取的一个或多个关键字进行比较来完成排序,默认以整行为关键字按 ASCII 字符顺序进行排序。

sort 常用选项:

 

v    -o 输出文件   将排序输出写到输出文件中而不是标准输出

v    -f  忽略字母的大小写

v    -r 按逆序输出排序结果  

uniq 命令用以删除指定文件中重复的行

格式: uniq  [opt]  filename

常用选项:

v    -c 显示输出中,在每行行首加上本行在文件中出现的次数

v    -d 只显示重复行

v    -u 只显示文件中不重复的各行

 

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

diff :用以逐行比较两个文本文件,并列出其不同之处。

格式: diff [opt] from_file  to_file

常用选项:

v    -b    忽略行尾空格,且视字符串中的多个空格为 1

v    -c    采用上下文件输出格式

v    -C n  采用上下文格式输出,且只提供 n 行上下文

v    -u    采用统一输出格式

v    -r    当指定 from_file to_file 为目录时,则递归比较目录中

的文件

 

patch :通过读入 patch 命令文件(可以从标准输入),对目标文件进行修改。通常 patch 使用 diff 的结果来完成打补丁的工作

格式: patch [options] [originalfile] [patchfile

如果需要修改的是目录,一般都必须在 patchfile 中记录目录下的各个文件名;绝大多数情况下, patch 都用以下这种简单的方式使用:     
    patch -p[num] <patchfile

-p 0 使用完整路径名

-p 1 除去前导斜杠

-p n 除去前导 n 个斜杠