第九章 正则

9.1 正则介绍 grep(上)

1)正则解释
正则就是一串有规律的字符串;
grep 过滤关键词
< mkdir /grep/ >
< cp /etc/passwd /root/grep/ >
< grep ‘nologin‘ passwd > 过滤nologin 自动标红了

< grep -c ‘nologin‘ passwd > 显示行数
<grep -n ‘nologin‘ passwd > 显示行号
< grep -ni ‘nologin‘ passwd > 不区分大小写
< grep -v ‘nologin‘ passwd > 除了nologin 的都过滤出来

<grep -r ‘root‘ /etc/ > /遍历目录下所有包括子目录/孙目录的文件都列出来

<grep -nA2 ‘root‘ passwd > 把找到的root行列出来包括其下面的2行
<grep -nB2 ‘root‘ passwd > 把找到的root行列出来包括其上面的2行
<grep -nC2 ‘root‘ passwd > 把找到的root行列出来包括其上面和下面2行

9.2 正则 grep(中)
不要改系统下/etc/下的配置文件,否者可能系统出错,可以拷贝出来后修改备份文件。
<grep ‘[0-9]’ passwd > 包含0-9的任意数字的都列出来
<grep -n ‘^#‘ /etc/inittab >^ 以#开头的行
<grep -n ‘[^0-9]‘ /etc/inittab > 非0-9
[^] 在括号内取反
例如 [^0-9] 那就是非数字(包括字母+特殊符号)
例如[^a-zA-Z] 那就是非字母(包括数字+特殊符号)
例如[^0-9a-zA-Z]那就是非数字字幕(特殊符号)
<grep -n ‘ ^[^0-9]‘ /etc/inittab > 以一个非数字的字符开头的行

9.3 正则 grep(下)
<grep ‘r.o‘ passwd> 点.匹配任意的一个字符
<grep ‘oo‘ passwd> 星 匹配任意N个字符
<grep ‘.‘ passwd> 点星 . 任意一个任意字符
<grep ‘o{2}‘ passwd> o出现两次 == <egrep ‘o{2}‘ passwd> == <grep -E ‘o{2}‘ passwd>
<grep ‘o{0,3}‘ passwd> o出现0-3次
<egrep ‘(oo){2}‘ passwd> oo出现两次
<grep ‘o+o‘ passwd> +加号表示前面o的1次或者N次=<egrep ‘o+o‘ passwd>
<egrep ‘o?t‘ passwd> ?前面o没有或者有一次
<egrep ‘root|nologin‘ passwd> | 或者

原文地址:http://blog.51cto.com/iammalt/2061313

时间: 2024-08-03 02:09:29

第九章 正则的相关文章

第九章正则扩展

第十二课预习任务 一.打印文件中特定的某行到某行之间的内容 例如:有个文件test的内容如下: ert fff ** [abcfd] 123 324 444 [rty] ** fgfgf 怎么能截取 [abcfd] 123 324 444 [rty] 这一部分出来呢?  sed -n '/\[abcfd\]/,/\[rty\]/p' test http://ask.apelearn.com/question/559 二.sed中,使用\u表示大写,\l表示小写 1. 把每个单词的第一个小写字母变

Learning Perl 第九章习题第二题

把输入文件中的所有Fred换成Larry, 不区分大小写. 知识点 1. 文本文件读写 2. 简单的正则替换 3. unless 的用法 4. $_ 的用法 Learning Perl 第九章习题第二题,布布扣,bubuko.com

第九章 常用模块

第九章 常用模块 1.模块介绍 什么是模块: 模块就是我们通常说的py文件(因此写python程序的时候不要命名为模块的名称),模块是写好了但不直接使用的功能 为什么这些模块中提供的方法 不能像print这些内置函数一样直接使用呢? 是因为如果所有的模块都是执行python程序直接导入了,会非常占用内存空间的 常见导入模块的方法 1.import time 2.from time import sleep 模块的分类: 内置模块 扩展模块 https://pypi.org 自定义模块 2.扩展数

javascript高级程序设计 第九章-- 客户端检测

javascript高级程序设计 第九章-- 客户端检测 客户端检测是javascript开发中最具争议的一个话题,由于浏览器间存在差别,通常需要根据不同浏览器的能力分别编写不同的代码.有下列常使用的客户端检测方法:能力检测:在编写代码之前先检测特定浏览器的能力.例如,脚本在调用某个函数之前,可能要先检测该函数是否存在.这种检测方法将开发人员从考虑具体的浏览器类型和版本中解放出来,让他们把注意力集中到相应的能力是否存在上.能力检测无法精确地检测特定的浏览器和版本.怪癖检测:怪癖实际上是浏览器中存

zabbix专题:第九章 自定义key(案例:监控内存,监控nginx状态)

第九章 自定义key 对Linux有兴趣的朋友加入QQ群:476794643 在线交流 本文防盗链:http://zhang789.blog.51cto.com 为什么要自定义KEY 有时候我们想让被监控端执行一个zabbix没有预定义的检测,zabbix的用户自定义参数功能提供了这个方法.我们可以在客户端配置文件zabbix_angentd.conf里面配置UserParameter. 语法如下: UserParameter=key,command 用户自定义参数包含一个key和一个命令,ke

读书笔记第九章

第九章HAL是建立在linux驱动之上的一套程序库.这套程序库并不属于linux内核,而是属于linux内核层之上的应用层.可以用来保护不想公开源代码的作者.HAL架构比较简单,其基本原理就是在安卓系统中使用程序库调用位于内核空间的linux驱动,然后安卓应用程序可以通过NDK程序访问HAL中的程序库,或直接在安卓应用程序中访问HAL中的程序库.编写一款支持HAL的linux驱动程序的步骤:1.编写linux驱动,linux驱动的代码要尽量简介,尽可能将业务逻辑放到HAL library中.2.

第九章 两种模式的比较

#include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <assert.h> #include <stdio.h> #include <unistd.h> #include <errno.h> #include <string.h> #include

第九章 用多线程来读取epoll模型下的客户端数据

#include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <assert.h> #include <stdio.h> #include <unistd.h> #include <errno.h> #include <string.h> #include

第九章 TCP和UDP同时用复用一个端口实现一个回射服务器

#include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <assert.h> #include <stdio.h> #include <unistd.h> #include <errno.h> #include <string.h> #include