linux之grep使用技巧

参考文章:

grep命令是global regular expression print全局正则表达式输出)的缩写,它是linux系统中最强大的命令之一。它在一个或者多个文件中搜索与给定的内容的匹配的行,并将匹配的内容输出。

显示不以#开头的行

grep ^# 101_所属网格.sql
grep ^-- 101_所属网格.sql

从单个文件查找指定字符串

grep "create" 101_所属网格.sql

从多个文件查找指定字符串

grep "create" *.sql

忽略大小写, 并显示行号

grep -in "creaTe" 101_所属网格.sql

显示查找到的总行数

grep -c "creaTe" 101_所属网格.sql
0
grep -c "create" 101_所属网格.sql
2

查找目录下所有文件,并只输出含有该文本的文件名

grep -l "tag_1117" *
102_支行客户经理.sql

递归查找目录下所有文件,并只输出含有该文本的文件路径

grep -rl "tag_1117" .
./102_支行客户经理.sql

除开某一个目录不匹配

grep -R --exclude-dir="102_支行客户经理.sql" "tag_1117"
102_支行客户经理.sql:       '是否为归属网格' tag_1117,
102_支行客户经理.sql:--        '是否为归属网格' tag_1117,

去掉文本中的空行

grep -q

grep -q

grep -q

cat test.sql | grep -v "^\s*$"
grep -q
grep -q
grep -q

过滤注释行

grep -q

grep -q

## 我是注释grep -q

cat test.sql | grep -v "^#"
grep -q

grep -q

同时过滤空白行与注释行

cat test.sql  | grep -v "^$" | grep -v "^#"
grep -q
grep -q

打印匹配行的后5行

grep -A 5 'rumenz' 1.txt  --打印匹配行的后5行
grep -B 5 'rumenz' 1.txt  --打印匹配行的前5行
grep -C 5 'rumenz' 1.txt  --打印匹配行的前后5行

模糊匹配

zhouy@hzhb:~/projects/szyx/scripts/update_mins$ grep "tag" 101_所属网格.sql

精确匹配

zhouy@hzhb:~/projects/szyx/scripts/update_mins$ grep -w "tag_1024" 101_所属网格.sql

同时匹配多个字符串

zhouy@hzhb:~/projects/szyx/scripts/update_mins$ cat 101_所属网格.sql | grep -e "tag" -e "1024" -o
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值