简单命令

2010.7.11
文件内容查询命令:grepegrepfgrep

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\} 重复字符xm次,如:'0\{5\}'匹配包含50的行       

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

egrep新增的元字符:

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

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

v    a|b  匹配ab

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

v    ( )  字符组

 

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

 

文本处理命令:sortuniq

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_fileto_file为目录时,则递归比较目录中

的文件

 

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

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

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

-p 0 使用完整路径名

-p 1 除去前导斜杠

-p n 除去前导n个斜杠
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章