shell grep的一些用法

#1、统计字符总行数

#统计系统中不允许登录的用户数

grep -c ‘nologin‘ /etc/passwd

#2、不区分大小写查找指定字符的所有行;

grep -i ‘good‘ 9.txt

#3、打印指定字符的行及行号;

grep -n "good" 9.txt

#4、不打印指定字符的行

grep -v "good" 9.txt

#5、打印以字符good开头,后接数字的行

grep "good[0-9]" 9.txt

#6、匹配G或g开头的行

grep "[Gg]ood" 9.txt

#7、显示输出行首不是good的行

grep "^[^good]" 9.txt

#8、匹配G,两个任意字符,紧接D的行

grep "G..D" 9.txt

#9、匹配大写字母,紧跟oo的字符行

grep ‘[A-Z]oo‘ 9.txt

#10、打印指定字符连续出现n次以上的行

grep -n ‘o\{2,\}‘ 9.txt
grep -n ‘o\{3,4\}‘ 9.txt

#11、打印空行的所在的行号

grep -n "^$" 9.txt

#12、不匹配文件中的#和空行

grep -vE ‘#|^$‘ httpd.conf

#13、匹配包含指定字符的文件

#-r:在当前目录及其子目录

#-l:不显示匹配的行,只显示匹配的文件

grep -r -n ‘good‘ /home/bel/*
grep -r -l ‘good‘ /home/bel/*

#14、匹配IPV4地址

ifconfig | grep --color -E "\<([0-9]{1,3}\.){3}[0-9]{1,3}^$\>"

#15、

#显示匹配某个结果之后的3行,使用 -A 选项

#显示匹配某个结果之前的3行,使用 -B 选项

#显示匹配某个结果的前三行和后三行,使用 -C 选项

seq 10 | grep ‘5‘ -A3
seq 10 | grep ‘5‘ -B3
seq 10 | grep ‘5‘ -C3
时间: 2025-01-02 15:31:39

shell grep的一些用法的相关文章

[Shell]grep命令

我是好文章的搬运工,原文来自ChinaUnix,博主scq2099yt,地址:http://blog.chinaunix.net/uid-22312037-id-4217835.html 一.基本用法        grep是linux中很常用的一个命令,主要功能就是进行字符串数据的对比,能使用正则表达式搜索文本,并将符合用户需求的字符串打印出来.grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户.grep在数据中查找出一

Linux中find、grep命令详细用法

在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下: find命令 find命令的一般形式 find命令的常用选项及实例 find与xargs grep命令 grep命令的一般形式 grep正则表达式元字符集(基本集) grep命令的常用选项及实例 1.find命令 find命令是一个无处不在命令,是linux中最有用的命令之一.find命令用于:在一个目录(及子目录)中搜索文件,你可以

grep及正则表达式用法总结

一.grep的基本用法 ????????grep是一个常见的文本选取工具,它可以将一段数据分析后,取出我们想要的,或者是经由关键字.正则表达式匹配选出我们想要的那一行.grep的用法及选项如下所示: grep:文本过滤工具 用法1:grep [OPTIONS] PATTERN [FILE...] 用法2:grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...] -v:取反,显示文本中没有被PATTERN匹配上的所有行 -i:匹配是忽略字符大小写 -n:匹配出

正则表达式和grep命令的用法

正则表达式和grep命令的用法: 一.正则表达式: 正则表达式(也称为regular Expression,简称RE)就是由普通字符(例如字符a到z)以及特殊字符(称之为元字符)组成的文字模式. 该模式描述在查找文字主体时待匹配的一个或多个字符串. 正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配.简单的说,正则表示式就是处理字符串的方法,它是以行为单位来进行字符串的处理行为,正则表示通过一些特殊符号的辅助,可以让使用者轻易的达到搜寻/删除/取代某特定字符串的处理程序.vim.gr

SHELL STUDY....tr的用法

一般我们使用tr来做字符串的替换,或者删除指定的字符串 tr的语法如下: tr [OPTION]... SET1 [SET2] -c, -C, --complement first complement SET1 将非SET1中的字符替换为SET2 [[email protected] ~]$ echo "lubinsu" | tr -c "l" "A" lAAAAAAA -d, --delete delete characters in SET

shell变量的特殊用法

转载:http://blog.csdn.net/shmilyringpull/article/details/7631106 假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.txt 可以用${ }分别替换得到不同的值:${file#*/}:删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt${file##*/}:删掉最后一个 /  及其左边的字符串:my.file.txt${file#*.}:删掉第一个 .  及其左边的字符

shell中括号的特殊用法

shell中括号的特殊用法 Shell中的括号有其特殊的用法, 现总结如下:1. 符号$后的括号${a} 变量a的值, 在不引起歧义的情况下可以省略大括号.$(cmd) 命令替换, 结果为shell命令cmd的输出, 和`cmd`效果相同, 不过某些Shell版本不支持$()形式的命令替换, 如tcsh.$((exp)) 和`expr exp`效果相同, 计算数学表达式exp的数值, 其中exp只要符合C语言的运算规则即可, 甚至三目运算符和逻辑表达式都可以计算. a=1;b=2echo $[

grep的扩展用法

正则表达式分为基本的正则表达式和扩展的正则表达式. 通常情况下,grep使用的是基本的正则表达式,如果要使用扩展的正则表达式,可以用-E选项,等同于egrep grep的其他一些选项: -A n:显示匹配行后面的n行,(after). -B n:显示匹配行前面的n行,(before). -C n:显示前后各n行.(context) 示例1: [[email protected] tmp]# grep --color -A 1 '^cpu MHz' /proc/cpuinfo  cpu MHz  

shell expect的简单用法【转】

用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄.收藏.可是为什么要这么写却不知其然.本文用一个最短的例子说明脚本的原理. 脚本代码如下:  ##############################################  #!/usr/bin/expect  set timeout 30  spawn ssh -l username 192.168.1.1  expect "password:"  send "ispa