Linux grep命令详解

简介

grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来,它的使用权限是所有用户。

格式

grep [options]

主要参数
[options]主要参数:
-i		不区分大小写。
-h		查询多文件时不显示文件名。
-l		查询多文件时只输出包含匹配字符的文件名。
-n		显示匹配行及行号。
-s		不显示不存在或无匹配文本的错误信息。
-v		显示不包含匹配文本的所有行。

pattern正则表达式主要参数:
\		忽略正则表达式中特殊字符的原有含义。
^		匹配正则表达式的开始行。
$		匹配正则表达式的结束行。
\ <		从匹配正则表达式的行开始。
\ >		从匹配正则表达式的行结束。
[  ]	单个字符,如[A] 即A符合要求。
[ - ]	范围,如[A-Z],即A、B、C一直到Z都符合要求。
。		所有单个字符。
*		有字符,长度可以为0。
grep命令常见用法
  • 在文件中搜索一个单词:
grep word file_name

grep "word" file_name
  • 在多个文件中查找:
grep "word" fille_1 file_2 file_3
  • 输出除了word的所有行:
greo -v "word" file_name
  • 标记匹配颜色:
grep "word" file_name --color=auto
  • 使用正则表达式-E选项:
grep -E "[1-9]+"

或

egrep "[1-9]+"
  • 只输出文件中匹配到的部分-o选项:
echo this is a test line.|grep -o -E  "[a-z]+\ ."

line.

echo this is a test line. |egrep -o [a-z]+\ ."

line.
  • 搜索多个文件并查找匹配文本在那些文件中:
grep -l "test" file1 file2
  • 在多级目录中对文本进行递归搜索:
grep "test" . -r -n

. 表示当前目录
  • 忽略匹配样式中的字符大小写:
echo "hello word"|grep -i "HELLO"

hello
  • 选项-e 制动多个匹配样式:
echo this a test line|grep -e "is" -e "line" -o

is

line
O"
> 
> hello
> ```

- 选项-e 制动多个匹配样式:

echo this a test line|grep -e “is” -e “line” -o

is

line

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值