shell入门-grep过滤-1

正则表达式,就是一个字符串。有一定的规律。我们用指定的字符串匹配一个指定的行。指定的字符串就是正则表达式。

正则表达式有这几个工具:grep egrep sed awk

命令:gerep

说明:过滤出指定的行

选项:--color  关键字有颜色

-n  显示行号

-c   显示一共出现了多少行

-v  取反 不包含指定字符的行

-A n  n指数字 例如A2在有指定字符的行下面再显示两行

-B n  n指数字 例如B2  在有指定字符的行上面再显示两行

-C n  n指数字 例如C2 在有指定字符的行上面和下面再显示各两行

-r  显示目录里的所以带指定字符的行

-rh 显示目录里的所以带指定字符的行并不显示文件路径和文件名

grep 过滤出有root的行

[[email protected] ~]# grep --color ‘root‘ /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

grep -n

[[email protected] ~]# grep -n ‘root‘ /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
11:operator:x:11:0:operator:/root:/sbin/nologin

给grep创建个别名,把/etc/passwd拷贝一下

[[email protected] ~]# vim .bashrc

alias cg=‘grep --color’

[[email protected] ~]# cp /etc/passwd 1.txt
cp:是否覆盖"1.txt"? y

-c

[[email protected] ~]# cg -c ‘root‘ 1.txt
2

-v

[[email protected] ~]# cg -v ‘root‘ 1.txt
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

....

-A

[[email protected] ~]# cg -n -A 2 ‘root‘ 1.txt
1:root:x:0:0:root:/root:/bin/bash
2-bin:x:1:1:bin:/bin:/sbin/nologin
3-daemon:x:2:2:daemon:/sbin:/sbin/nologin
--
11:operator:x:11:0:operator:/root:/sbin/nologin
12-games:x:12:100:games:/usr/games:/sbin/nologin
13-gopher:x:13:30:gopher:/var/gopher:/sbin/nologin

-B

[[email protected] ~]# cg -n -B1 ‘root‘ 1.txt
1:root:x:0:0:root:/root:/bin/bash
--
10-uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
11:operator:x:11:0:operator:/root:/sbin/nologin

-C

[[email protected] ~]# cg -n -C1 ‘root‘ 1.txt
1:root:x:0:0:root:/root:/bin/bash

2-bin:x:1:1:bin:/bin:/sbin/nologin
--
10-uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
11:operator:x:11:0:operator:/root:/sbin/nologin
12-games:x:12:100:games:/usr/games:/sbin/nologin

-r

[[email protected] ~]# cg -r ‘root‘ ~

.....

/root/.bash_history:HOME=/root
/root/.bash_history:grep ‘root‘ /etc/passwd
/root/.bash_history:grep -n ‘root‘ 1.txt
/root/.bash_history:grep -c ‘root‘ 1.txt
/root/.bash_history:grep -v ‘root‘ 1.txt
/root/.bash_history:grep -A2 ‘root‘ 1.txt
/root/.bash_history:grep -n -A2 ‘root‘ 1.txt
/root/.bash_history:grep -n -b2 ‘root‘ 1.txt
/root/.bash_history:grep ‘root‘ /etc/passwd
/root/.bash_history:grep -n ‘root‘ /etc/passwd
/root/.bash_history:cg -c ‘root‘ 1.txt

.......

[[email protected] ~]# cg -rh ‘root‘ ~

....

HOME=/root
grep ‘root‘ /etc/passwd
grep -n ‘root‘ 1.txt
grep -c ‘root‘ 1.txt
grep -v ‘root‘ 1.txt
grep -A2 ‘root‘ 1.txt
grep -n -A2 ‘root‘ 1.txt
grep -n -b2 ‘root‘ 1.txt
grep ‘root‘ /etc/passwd
grep -n ‘root‘ /etc/passwd
cg -c ‘root‘ 1.txt

......

//////////////////////////////////////////////////////////////////////////

总结:vim ~/.bashrc   /// alias cg=‘grep --color’

cg -n  -v  -c  -r  -rh  -An  -Bn  -Cn

时间: 2024-10-12 09:26:14

shell入门-grep过滤-1的相关文章

grep 过滤

在前面的内容中多次提到并用到grep命令,可见它的重要性. 要知道的是grep连同下面讲的sed, awk都是针对文本的行才操作的. 语法: grep  [-cinvABC]  'word'  filename -c :打印符合要求的行数 -i :忽略大小写 -n :在输出符合要求的行的同时连同行号一起输出 -v :打印不符合要求的行 -A :后跟一个数字(有无空格都可以),例如 –A2则表示打印符合要求的行以及下面两行 -B :后跟一个数字,例如 –B2 则表示打印符合要求的行以及上面两行 -

Linux shell入门基础(六)

六.Shell脚本编程详解 将上述五部分的内容,串联起来,增加对Shell的了解 01.shell脚本 shell: # #perl #python #php #jsp 不同的脚本执行不同的文本,执行的角色是不一样的: #shell scripts(UNIX Like系统的原则有一条:程序越短越好) #bash csh tcsh ksh #which startx(查看文件的路径) /usr/X11R6/bin/startx #vi `which startx` #!/bin/sh …… #vi

adb shell 入门

一.ADB 简介ADB(Android Debug Bridge) 是 Android 开发/测试人员不可替代的通用命令行工具,其允许与模拟器实例或连接的 Android 设备进行通信.它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问.Android 系统是基于 Linux 内核的,所以 Linux 里的很多命令在 Android 里也有相同或类似的实现,在 adb shell 里可以调用.该工具是一个客户端-服务器程

shell入门之一

第1章 shell入门   shell是一个命令解释器,它的操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种二样的操作系统的输出结果,输出屏幕返回给用户   对话的方式可以是:   交互式方式:从键盘输入命令,通过/bin/bash 解析,可以立即得到shell的回应   非交互式方式:脚本   1.1 下图就是命令解释器: shell是英文是贝壳的意思,命令解释器shell像一个贝壳一样包住系统核心 shell执行的命令分为两种方式: 内置命令:如讲过的cd . p

grep过滤用法介绍(一)

grep过滤用法介绍(一) grep主要作用是过滤出指定的行,指定的行满足什么条件,满足的条件我们就可以用一个正则表达式来表示.为了方便下面的实验进行,我们先进行cp /etc/passwd  1.txt 例如:#grep 'root'1.txt,截图如下: 匹配过滤出,有root的行! grep有一个选项很好用: 1.grep --color 'root' 1.txt 标注红色.为了方便使用,我们做一个别名操作,alias cgrep='grep --color'[删除用unalias+别名]

grep过滤用法介绍(二)

grep过滤用法介绍(二) 背景:(1)alias cgrep='grep --color' (2)cp /etc/passwd  1.txt 1. cgrep -n 'root' 1.txt 包含root所在,行数. 2. cgrep -v 'nologin' 1.txt 不包含nologin. 3. cgrep '[0-9]' 1.txt 包含所有0-9中间数字包含任意一个的行. 4. cgrep '[a-zA-Z]' 1.txt 过滤所有字母. 5.cgrep '^[a-z]' 1.txt

grep过滤用法介绍(三)

grep过滤用法介绍(三) egrep是grep的扩展形式,grep能用的,egrep都能用 grep --color 'r\?o' 1.txt egrep --color 'r?o' 1.txt 这两式子相等,也就是说?或者+这样的特殊符号在egrep这里不需要脱义!,截图如下: grep -E==egrep egrep用法小结: 1. egrep --color 'root|nologin' 1.txt #head -n3 1.txt |egrep --color -n 'root|nolo

<LINUX >bash shell 入门 --linux学习笔记

首先说下我个人对于shell的理解,我觉得shell是一种通过各种控制语句将linux命令进行集合实现批处理的一种脚本语言. shell编程入门其实很简单,语法知识并不多,但是高级shell编程就很难,因为shell是用户和linux之间的桥梁,要编写高质量的shell脚本,就需要用户对linux有很全面的认识. 这里我们只分析shell脚本的语法知识,如想透彻的学习linux还需多努力. shell结构       1.#!指定执行脚本的shell 2.#注释行 3.命令和控制结构 创建she

shell 入门基础三

    linux shell 编程 1什么是bash shell 变量 shell变量可分为两类: 局部变量和环境变量. 局部变量只在创建它们的shell中可用.而环境变量则可以在创建它们的shell及其派生出来的任意子进程中使用.有些变量是用户创建的,其他的则是专用shell变量.变量名必须以字母或下划线字符开头.其余的字符可以是字母.数字(0~9)或下划线字符.任何其他的字符都标志着变量名的终止.名字是大小写敏感的.给变量赋值时,等号周围不能有任何空白符.为了给变量赋空值,可以在等号后跟一