1.作用
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
2.主要参数
主要参数:
echo “Hello, my name is aming.”|grep -P ‘(?<=Hello, ).*(?= aming.)'
如果只需要匹配到的部分,还可以加上-o选项
echo “Hello, my name is aming.”|grep -Po ‘(?<=Hello, ).*(?= aming.)'
根据这个思路,我们可以去匹配IP地址:
ifconfig eth0 |grep -Po ‘(?<=addr:).*(?= Bcast)'
或者解析json:
data='{"codeNo": 200, "message": "success", "data": {"status": 1, "build_date": "", "update_time": "2020-11-05 18:14:14", "product": "polardb80", "id": 148, "commit_id": "c7552a8eedbc1d485d1132e6afbe9", "branch": "master-2.0", "build_type": "localdisk_release"}}' codeNo=`echo $data |grep -Po 'codeNo[" :]+\K[^"]+'` echo $codeNo 输出: 200,
3.grep命令使用简单实例
grep -r sprintf ./ 在当前目录下递归查找含有字符串sprintf的文件
打印匹配行的前后5行
- grep -5 ‘something’ file
打印匹配行的前后5行
- grep -C 5 ‘something’ file
打印匹配行的后5行
- grep -A 5 ‘something’ file
打印匹配行的前5行
- grep -B 5 ‘something’ file
4.grep命令使用复杂实例
有一点要注意,您必需提供一个文件过滤方式(搜索全部文件的话用 *)。如果您忘了,’grep’会一直等着,直到该程序被中断。如果您遇到了这样的情况,按
,然后再试。
grep -n pattern files 即可显示行号信息
grep -c pattern files 即可查找总行数
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178404.html原文链接:https://javaforall.net
