参考链接:
1、https://segmentfault.com/a/1190000015885994
grep和正则表达式
grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
1、-r 递归查找
grep -r 'ctf' dirsearch/ :grep -r 要查找的文本字符串 查找的文件
2、-l 列出文件内容符合指定的范本样式的文件名称
grep -l -r 'ctf' * :在当前目录及其子目录下搜索'ctf'行的文件,但是不显示匹配的行,只显示匹配的文件
3、-n 在显示符合范本样式的那一列前,标示出该列的编号。
grep -n -r 'ctf' * :显示匹配的文件在第几行
4、-d<进行动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep命令将回报信息并停止动作。指定“-d recurse”参数效果与-r相同。
5、 -i:忽略字符大小写的差别。
sed行编辑器
sed是一种流编辑器,它是文本处理中非常重要的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。
1、命令格式
sed [options] 'command' file(s)
sed [options] -f scriptfile file(s)
2、option常用选项
-n :仅显示处理后的结果
3、command常用
(1)p 打印相关的行
nl BistuLogin.py | sed -n '4p' nl:显示搜索文件行号,打印第4行内容。
(2)i 在行前面增加内容 / a 在行后面增加内容
nl passwd|sed '1,2i ===========' :在passwd文件的第一行和第二行前面添加===========。
(3)c 把选定的行改为新的文本
nl passwd|sed '1c abcd'
nl passwd|sed '1,3c abcd' //与a,i不同的时,如果这里是一个行的范围则是把这个范围内容替换为当前内容
(4)d 删除行
nl passwd | sed '/^$/d' :删除文件中的空行,^$直接相连代表空行。
(5)s 替换命令
sed 's/:/%/g' passwd //加g全局替换 将文件中所有:替换为%
awk
AWK是一种处理文本文件的语言,是一个强大的文本分析工具。特点是处理灵活,功能强大。可实现统计、制表以及其他功能。之所以叫AWK是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的Family Name的首字符。
ip -o -4 addr show up primary scope global | awk '{print $2}' 取网卡名称