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
个斜杠
转载于:https://blog.51cto.com/vickydu/348893