Linux-正则表达式与三剑客
1 固化命令文件
登录时执行文件的顺序
/etc/profile
/etc/profile.d
~/.bash_profile
~/.bashrc
/etc/bashrc
非登录shell
~/.bashrc
/etc/bashrc
/etc/profile.d
修改配置文件的时候
修改文件后 可以用 source 文件 来使得设置的配置生效
配置PATH的方法
vim /etc/profile
在最后加上
PATH=要注入的:$PATH
export PATH
2 正则表达式
更多正则表达式参见http://deerchao.net/tutorials/regex/regex.htm
^ 开头 取反用于[]中
$ 结尾
. 代表任意一个字符
* 前面的字符有0个或者无穷个
+ 前面的字符有1个或者无穷个
{} 前面的字符有 某个范围的
? 前面的字符0次或者1次
- 范围, 从哪到哪, 用于[]中获取范围
[] 在内的其中一个
[a-z] 小写字母
[A-Z] 大写字母
[a-Z] 所有英文字母
[0-9] 数字
其中 在[]中要输出-需要将其放在末尾并转义
\ 转义
() 分组
获取该分组用 \数字
其中数字从1开始从左往右数第几组
3 grep命令
grep -选项 '查询内容' 文件
作用: 根据查询的内容, 只要当前行满足了'查询内容'就显示出来, 匹配正确的标红显示
-n 输出行号
-o 只显示匹配后的内容
-q 安静模式 不显示结果(quiet)
-A 行数 显示后几行
-B 行数 显示前几行
-C 行数 显示前后几行
-c 显示匹配到的行数(conunt)
-l 过滤成功之后显示文件名, 不成功则不显示
-i 忽略大小写来匹配(ignore)
-v 取反显示行
-w 单词, 查询内容必须是单词匹配
-E 扩展模式, 使得更多的正则表达式得到支持, 等同于 egrep
-e 用于多个查询条件的时候, 只要满足一个条件就可以输出
egrep -e 'root' -e 'hello' /etc/passwd
诸如过滤掉某个文件的注释和空行
4 sed命令
sed是流编辑器, 同样是以行为单位
命令格式
sed -选项 '处理办法' 读取的文件
选项
-n 静默模式 不打印结果
-e 可以指定多个处理
-i 对文件进行直接修改
-f 将规则写到文件中
-r 扩展模式
处理办法
处理办法有两种, 一种是针对行号进行对行的处理, 另一种是书写正则表达式, 对满足正则表达式的内行进行处理
1 行号操作
3d 删除第三行
3p 打印第三行
3c 改变第三行的内容(change)
3a 在第三行之后增加一行
sed '3a add to this line' /etc/passwd
3i 在第三行之前增加一行
sed '3i insert to this line' /etc/passwd
1,3d 从1行到3行删除
1d;3d 删除1行和3行
s/替换的/换成的/ 替换
s/替换的/换成的/g 一行的都替换 全局替换
2 正则表达式操作
格式:
'/正则表达式/操作'
Linux-正则表达式与三剑客的更多相关文章
- NO23 Linux正则表达式结合三剑客企业级实践--取IP
企业实践: 一.取IP的方法(用三剑客): grep: awk: sed:虽有三种,但是思路是一样的,用到正则有些表达细节不一样而已. 分析: sed***: 课堂试题: |sed -nr 's#^. ...
- Linux正则表达式结合三剑客企业级实战
1.取系统ip 解答: 1)ifconfig ens33 |sed -n '2p'|sed "s#inet##g"|sed 's#n.*$##g' 2)ifconfig ens3 ...
- Linux 正则表达式_010
Linux 正则表达式 标注:本教程只针对linux运维的三剑客命令awk,sed,grep正则表达式 什么是正则表达式? 简单的说,正则表达式就是为处理大量的字符串而定义的一套规则和方法通过定义的这 ...
- linux正则表达式企业级深度实践案例1
linux正则表达式结合三剑客企业级实践: 1.取系统ip [root@redhat~]# ifconfig eth0 解答: 替换命令: sed 's#支持正则位置##g' file 先取第 ...
- Linux文本处理三剑客之grep及正则表达式详解
Linux文本处理三剑客之grep及正则表达式详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Linux文本处理三剑客概述 grep: 全称:"Global se ...
- Linux 正则表达式与文本处理器 三剑客
Linux 正则表达式与文本处理器 三剑客 一.正则表达式 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. 在linu ...
- linux正则表达式之-基础正则表达式(基于grep)
linux正则表达式: 简单的说,正则表达式就是为处理大量的字符串而定义的一套规则和方法,如:假设@代表123456,!代表abcde.通过定义的这些特殊符号的铺助,系统管理员就可以快速的过滤,替换或 ...
- linux正则表达式(基础正则表达式+扩展正则表达式)
正则表达式应用非常广泛,例如:php,Python,java等,但在linux中最常用的正则表达式的命令就是grep(egrep),sed,awk等,换句话 说linux三剑客要想能工作的更高效,就一 ...
- linux正则表达式回忆记录
好久没用linux grep相关正则表达式,现在简单记录下. grep简介 grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.通常grep有三种版本grep.egr ...
- linux正则表达式基础部分
1.什么是正则表达式? 简单的说,正则表达式就是为处理大量的字符串而定义的一套规则和方法, 例如:假设“@”代表boy,“!”代表girl.echo“@!” === “boygirl” 通过定义的这些 ...
随机推荐
- 邁向IT專家成功之路的三十則鐵律 鐵律十一:IT人應對之道-靈活
身為一位優秀的IT專家,不能夠只是在技術面的應對能力強,而必須是在人事的應對能力上也要能夠靈活與彈性,否則就算一天給你48小時,你也會把自己的身心弄垮,再強的專業.技術.能力也會瞬間化為泡影. 坦白說 ...
- linux 和网络安装 linux
接触linux 一年了,一直没有总结过什么东西.在开学前的这么几天把之前做的一些东西重新整理一下吧. 或许还会有别的收获呢. linux安装: 去年10月份接触linux以来安装不下数十次,不管是光盘 ...
- extern “C”的使用
2016-12-11 22:40:48 VS编译的时候,可以指定编译为C代码或者C++代码.c/c++->高级.而当你新建一个cpp文件时,VS很有可能自动会把编译方式由C变成C++编译.然 ...
- from: 关于RabbitMQ
from: http://lynnkong.iteye.com/blog/1699684 1 什么是RabbitMQ? RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种, ...
- UVA 12338 - Anti-Rhyme Pairs(后缀数组+RMQ)
UVA 12338 - Anti-Rhyme Pairs 题目链接 题意:给定一些字符串,每次询问求出两个字符串的最长公共前缀的长度 思路:把字符串排序,就能求出height和rank数组,然后利用R ...
- C/C++程序到内存分配(转)
一.一个由C/C++编译到程序占用的内存分为以下几个部分: 1.栈区(stack)——由编译器自动分配释放,在不需要的时候自动清除.用于存放函数的参数.局部变量等.操作方式类似数据结构中的栈(后进先出 ...
- [Codevs 1230]元素查找(手写哈希表)
题目连接:http://codevs.cn/problem/1230/ 说白了就是要我们自己手写一个哈希表的数据结构来实现加入和查找功能.map也能直接过(我第一次写就是用map骗AC的) 提一下个人 ...
- GG链路过多port不足导致的报错OGG-01223
假设我们GG同步链路在增多.就有可能出现这个报错.在日志中能体现. 2014-05-20 13:32:38 WARNING OGG-01223 TCP/IP error 111 (Connection ...
- Python--常用模块部分
模块 pip install #模块名称 #安装模块 #导入模块 from collections import namedtuple collections模块 提供了几个额外的数据类型: Coun ...
- inline-block的使用
inline-block是什么 inline和block是css中元素display属性的两个选项,而inline-block可以说是介于两者之间的属性值. inline使元素成为内联元素(inlin ...