举例浅介grep、sed、awk

grep部分:

-n:显示行号   -v:不匹配   .:表示有一个字符    *:表示重复前面的字符零到无穷个

grep -n 'key'file     //显示文件中含有key的内容并附带行号
grep -n '^key' file     //显示以key开头的内容并附带行号
grep -n 'key$' file     //显示以key结尾的内容并附带行号
grep -v 'key' file     //显示不包括key的内容并附带行号
grep -n 'g[ao]' file --color     //显示包括ga或者go的内容并附带行号
grep -E 'ga|go' file --color     //跟上面得出结果一样,或的表示法
grep -n 'key1' file | grep 'key2'     //查看在一行中既有key1又有key2的内容附带行号,与的表示法
grep -n '^key1.*key2$' file     //显示以key1开头,key2结尾,中间可有可无的内容附上行号
grep ^$ file      //显示空行
grep -n '^[^key]' file     //显示不以key开头的内容附上行号
grep -n '^[key$]' file     //显示不以key结尾的内容附上行号


sed部分:安装包sed-4.2.1-10.el6.x86_64     //通过 rpm -qf 查看

-n:抑制自动输出     p:打印     i:插入     a:追加      H:复制      G:粘贴       

d:删除       w:另存为

sed -n '3p' file     //显示文件第三行内容
sed -n '1,3p' file     //显示文件1到3行内容
sed '1,3!p' file      //显示除1到3行以外的内容
sed '5,+3p' file      //显示第5行和后面的3行内容
sed '1i###' file     //在第1行后面插入###
sed '$a@@@' file     //在最后追加@@@
sed '5c!!!' file    //将第5行换成!!!
sed '3,6/H;$G' file     //复制3到6行并粘贴到最后
sed '/^$/d' file     //删除空行
sed '/key/w file1' file2     //在file2中查找关键字key并重新保存到file1中


awk部分:安装包gawk-3.1.7-10.el6.x86_64

-F:修改分隔符,默认为空格        $0:显示所有内容    $1:显示第一列  

BEGIN:设置头部信息,在动作之前        END:追加信息,在动作之后

date | awk '{print "Year:"$6 "\tMonth:"$2 "\tDay:"$3}'     //将时间按照指定格式输出,\t表示tab的意思
awk '{print $0}' file      //显示文件所有内容
awk -F : '{print $1}' /etc/passwd     //显示文件的第一列,因为pass以:作为分割,需要转换
awk '{print $1,$3}' file      //显示第一列和第三列内容
awk 'BEGIN {print "content1\n"}{print $0}END{print "content2"}' file     //添加头部和尾部信息,\n表示换行
awk '$2 >= parameter {print $0}' file     //第二列符合条件,就打印出来
awk '{if ($1 == 'content1' || $2 >= content2) print $0}' file     //多条件符合打印


:此内容持续更新




本文出自 “经验来自痛苦” 博客,谢绝转载!

你可能感兴趣的:(正则,表达式)