“三剑客”: 正则表达式是为了护理大量的字符串及文本而定义的一套规则和方法 应用正则表达式的命令就是:grep(egrep)、sed、awk,俗称Linux三剑客
-E:相当于egrep,支持扩展正则表达式 -l: 只显示文件名 -o:只比配显示到的内容,显示grep的执行过程 -i:不区分大小写 -n:显示行号 -w:按单词进行比配 -A:显示找出的行以及接下来的行 -B:显示找出的行以及上面的行 -C:显示找出的行以及上下的行 -r:递归过滤,过滤目录下面的所有层 -R:与-r类似 只不过多了可以处理软链接
命令参数:
-n:取消默认输出,常与sed的内置命令p使用 -i:修改文件的内容,而不是输出到终端,如果不是使用“i”,则是只是打印到终端,不会修改文件本身的内容 -e:允许多次编辑
内置的命令:
a:全拼为append,表示追加文本,在指定行后面添加一行或者多行文本 d:全拼为delete,表示删除匹配行的文本 i:全拼为insert,表示插入文本在指定行前添加一行或者多行的文本 p:全拼为orint,表示打印匹配行的内容,通常与-n连用 s# aaa # yyy #g:用yyy替换文本中所有的aaa
使用实例: 1、利用正则加sed替换的功能获取ip 另外一种命令写法
-F:指定分隔符显示某几列-----例如:awk -F “:” 就是以“:”为分隔符(如有空格,空格也算是分隔符) $n:表示显示第n列的东西文件 NR == n:表示显示第n行的文件,显示不连续的行的中间用“;”隔开,例如{NR== 1;NR== 5} RS:(Record Separator)记录着每行的结束标记 读取到这个标记这一行结束 默认是回车 ORS: Output Record Separator 输出分隔符 函数: gsub:substitute,替换 awk ‘{gsub(/oldboy/,“oldgirl”)}1’ xxx 相当于 sed ‘s/oldboy/oldgirl/g’ xxx substr:相当于命令cut -c
awk中的for循环:
使用实例: 1、以空格为分隔符,显示第二列的内容 2、显示文件的第二行的内容 3、过滤出非r字符开头的行 4、取CentOS 7的ip地址
小博对三剑客的一些基础的认知,还在那学习当中,如有错误,还各位大佬请见谅哟!!!!