您的位置:首页 > 职场人生

基本正则表达及结合文件查找命令使用

2011-04-21 17:07 302 查看
grep 会对匹配一个或多个正则表达式(pattern)的文本进行搜索,并只输出匹配的文本而不影响原有内容
命令格式:
grep [option] [pattern] [file1,file2,…]
常用选项:
-c 只显示匹配行的数量
-i 不区分大小写
-n 对匹配到的行进行编辑
-v 只显示不匹配的行
以上下文的方式显示匹配的串:-An之前的n行 -Bn之后的n行 -Cn上下文都显示
正则表达式:
字符含义: ^word 搜索的字符串在行首
word$搜索的字符串在行尾
. 任意一个字符,一个任意字符
\反义字符将特殊符号的特殊意义去除
*重复零个或者多个的前一个重复的字符
\{n,m\}连续n到m个的前一个重复字符
[] 字符集合的一个重复特殊字符的符号
\< 锚定单词的开始
\> 锚定单词的结束
\b 单词锁定符,如: '\bgrep\b'只匹配grep
x\{m\} 重复字符x,m次,如:'0\{5\}'匹配包含5个0的行
扩展型正则表达式:
+ 重复“一个或一个以上”的字符
?“0个或一个”字符
| 是用或的方式找出字符串
() 找出“用户组”字符串
sort命令的功能是对文件中的各行进行排序
格式:sort [opt] file1,file2…
根据从输入行抽取的一个或多个关键字进行比较来完成排序,默认以整行为关键字按ASCII字符顺序进行排序
参数 -n按数值比较大小 -r逆序排列 -f忽略大小写 -u 连续的多行只显示一行
-t指定分隔符 -k指定字段
例如:sort -n -t: -k3 /etc/passwd
uniq
-d用以删除指定文件中重复的行
格式: uniq [opt] filename
常用选项:
-c 显示输出中,在每行行首加上本行在文件中出现的次数
-d 只显示重复行
-u 只显示文件中不重复的各行
cut提取某一字段的命令
-d指定结束符 -f指定字段
例如:
只显示网卡的ip地址
ifconfig |grep 'inet addr' |grep -v '127.0.0.1' |cut -d: -f2 |cut -d' ' -f1
diff和patch的作用比较文件及打补丁
用以逐行比较两个文本文件,并列出其不同之处
格式:diff [opt] from_file to_file
输出格式有三种:列举方式、命令模式和上下文模式
diff 命令显示以 < 开始的第一个文件中的所有受影响行,然后显示以 > 开始的第二个文件中的所有受影响行
在上下文输出格式时,- 开始的行表示第一个文件多出的,+ 开始的行表示第一个文件缺少的,!表示两个文件不同的行
常用选项:
-b 忽略行尾空格,且视字符串中的多个空格为1个
-c 采用上下文件输出格式
-C n 采用上下文格式输出,且只提供n行上下文
-u 采用统一输出格式
-r 当指定from_file和to_file为目录时,则递归比较目录中的文件
通过读入patch命令文件(可以从标准输入),对目标文件进行修改
通常patch使用diff的结果来完成打补丁的工作
格式:patch [options] [originalfile] [patchfile]
如果需要修改的是目录,一般都必须在patchfile中记录目录下的各个文件名;绝大多数情况下,patch都用以下这种简单的方式使用:
patch -p[num] <patchfile
-p 0 使用完整路径名
-p 1 除去前导斜杠
-p n 除去前导n个斜杠
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息