一,grep:全面搜索正则表达式并打印出来
grep(最常用),egrep(扩展的grep),fgrep
用法:grep [options] ‘PATTERN’ file...
eg:grep ‘root’ /etc/passwd
选项: -i不区分大小写
-v反向显示,只显示没匹配到的
-n显示匹配到的行在原文中所处的行号
-An(after)把匹配到的行后的n行也显示出来
-Bn(before)把匹配到的行前的n行也显示出来
-Cn(context)把匹配到的行前行后的n行也显示出来
模式:由正则表达式组成
^脱字符 ---行首定位符
&---行尾匹配符
.---用于匹配单个字符
*---匹配0或多个位于*号前的字符 root* 匹配roo,roott,roottt,,,
\<词首定位符
\>词尾定位符
\词首词尾同时定位
\{root\{1\}
\( \) eg:\(root\).*\1able \1引用了root
[]匹配一组字符中任一个 eg:/[Ll]ove/
[x-y]匹配指定范围内的一个字符 eg:/[A-Z]ove/
[^]匹配不在指定组内的字符 eg:[^A-Z]
\ 用来转义元字符 ,去除其后紧跟的元字符或通配符的特殊意义。eg: love\.
\< 词首定位符 eg:\ \>词尾定位符 eg:love\>
\(...\)匹配稍后将要使用的字符的标签
eg:\(love\)able\1able 匹配的是loveableloveable字符串
x\{m,\} 字符x重复出现至少m次
x\{m,n} 字符x重复出现m到n次
egrep新增的元字符
1. + 匹配一个或多个加号前的字符 eg:‘[a-z]+ove'匹配一个或多个小写
字母后跟ove的字符串
2. ? 匹配另个或一个前导字符,即它前面的那个字符可有可无
3. a|b 匹配a或b eg :’love|hate‘ 匹配love或hate
4.() 字符组 eg:love(able|ly)匹配loveable或lovely
二,cut命令
cut命令是用来剪下文本文件里的数据,文本文件可以是字段类型或是字符
类型,后一种数据类型在遇到需要从文件里剪下特定的列时特别方便。
语法:cut -c list [file ...]
cut -f list [-d delim] [file...]
用途:从输入文件中选择一或多个字段或者一组字符,配合管道,可再做进
一步处理
-c list
以字符为主,做剪下的操作。list为字符编号或一段范围的字符
-d delim
通过-f选项,使用delim作为定界符。
eg:cut -d: -f1 /etc/passwd(以冒号为定界符切割)
cut -d" " /etc/passwd(以空格作为定界符切割)
-f list
以字段为主,做剪下的操作
三,管道 |
管道:将前一个命令的输出结果作为后一个命令的输入内容。
使用方法:command1 | command2 | command3 | ……
eg:echo redhat | passwd –stdin student(将student的密码改为redhat)
tee
功能说明:读取标准输入的数据,并将其内容输出成文件。
eg: ls /etc |tee /tmp/ls.out|less
(tee将ls /etc出来的内容变成两份,一份输出到/tmp/ls.out ,一份
使用less查看)
阅读(1804) | 评论(0) | 转发(0) |