/etc/profile

/etc/bashrc  、变量添加到shell环境中,永久生效。

/root/.bashrc

/root/.bash_profile

正则表达式

定义:正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。(被命令所解释)

三种文本处理工具/命令:grep sed awk

grep(过滤)

参数

-n  :显示行号

-o  :只显示匹配的内容

-q  :静默模式,没有任何输出,得用$?来判断执行成功没有,即有没有过滤到想要的内容

-l  :如果匹配成功,则只将文件名打印出来,失败则不打印,通常-rl一起用,

grep -rl 'root' /etc

-A  :如果匹配成功,则将匹配行及其后n行一起打印出来(常用于日志文件)

-B  :如果匹配成功,则将匹配行及其前n行一起打印出来

-C  :如果匹配成功,则将匹配行及其前后n行一起打印出来

-c  :如果匹配成功,则将匹配到的行数打印出来

-E  :等于egrep,扩展

grep -E ==== egrep

-i  :忽略大小写,对搜索过滤文件直接输出

-v  :取反,不匹配

-w:匹配单词 连续的字母,碰上一个空格就作为单词处理

正则介绍

^ 行首  过滤 以***开头的行(*代表任意文本)

$ 行尾 过滤 以***结尾的行(*代表任意文本)

. 除了换行符以外的任意单个字符

* 前面的字符有零个或无穷个

.* 所有字符

[] 字符组内的任一字符   \表示转义符,同时 - 智能放于开头或是结尾

[^] 对字符组内的每个字符取反(不匹配字符组内的每个字符)
^[^] 非字符组内的字符开头的行

[a-z] 小写字母
[A-Z] 大写字母
[a-Z] 小写和大写字母
[0-9] 数字
\< 单词头 单词一般以空格或特殊字符做分隔,连续的字符串被当做单词
\>
单词尾

-v取反过滤掉需要剔除的文件。

sed

定义:流编辑器 stream editer,是以行为单位的处理程序

-n:静默模式,不打印输出

-e:指定扩展规则

-i:对文件进行更改

-f
: 把''规则写入文件

1、定位 :sed '3' test

2、d 删除 sed ‘3d’test :删除第3行

3、p 复制 sed '3p'
test  :打印第三行,(重新复制输出)

4、c 更改 sed '3c'
11111111 test  : 改变第三行的文件

5、a 追加 sed '3a'
11111111 test  : 在第三行之后追加文件

6、 i 插入sed '3i'
1111111 test   :  在第三行之前插入一行文件.

正则定位  然后再操作  只写命令不定位,定所有文件内的位置

sed  '/正则表达/命令'  test

1、sed  '/^root/d' 
test  删除root这一行;

sed  '1,3d'  test  删除1到3行;

sed  '1d;3d'  test 删除第一行和第三行

2、s命令 替换  把什么东西换成什么东西   命令: sed  '///s' 
文件

sed 's/cd/234/' a.txt 一行之中匹配到多个,默认只改一个

sed
's/cd/234/g' a.txt  一行之中匹配到多个全部替换

()将代码扩成一个整体

sed 
-r 扩展正则,(默认使用!!!)

sed -r '/^[0-9]([a-Z]{3)xsb$/s/sb/SB/g'
a.txt     倒着从后往前推好理解

将第一行的第一个单词替换掉

sed 
-r  's/^([a-Z]+)([^a-Z]+)/    \1        
\2    /g'  test

1个单词   符号  取第一部分 取第二部分

将最后一个单词去掉

sed  
-r 
's/([^a-z])([a-z]+)$/\1/g'  test

两个单词互换位置

sed  
-r 
's/^([a-z]+)([^a-z]+)([a-z]+)([^a-z]+)/\3\2\1\4/g'  test

开发环境入门 linux基础 (部分)正则表达式 grep sed的更多相关文章

  1. 开发环境入门 linux基础 (部分)awk 赋值变量 if

    awk 常用于处理格式非常明显的文件 awk -F: '{print $1}' /etc/passwd  含义:取冒号分隔符的第一段内容 $0 指取所有! NF 指有几段内容 $NF 取最后一段内容 ...

  2. 开发环境入门 linux基础(部分)虚拟内存,rpm和yum安装

    虚拟内存,rpm和yum安装 文本中查找 /内容 替换:扩展模式下(:)%s /替换目标/要替换的文件/ (只替换第一个)(后边加g全部替换) :set u添加行号 raid  lvm逻辑卷 df - ...

  3. 开发环境入门 linux基础 (部分)while for 函数 计划任务

    while循环 while do 动作 done 需要无限循环时我们会选择while : echo -e 格式处理,将\n的意义不变. exit 指退出执行程序 break 指跳出本层循环 conti ...

  4. 开发环境入门 linux基础 (部分) 复制 用户和组操作 权限更改

    复制 用户和组操作 权限更改 CP 复制命令 cp 源文件 目标文件 a) –r(recursive,递归的):递归地复制目录.当复制一个目录时,复制该目录中所有的内容,其中包括子目录的全部内容. b ...

  5. 开发环境入门 linux基础 基本操作命令(部分) 文本结构和基本命令

    文本结构和基本命令 linux系统中系统提示符:$ 表示普通用户 su  root切换用户命令(用户名 root),输入密码,切换到其他用户状态 root 命令提示符:# exit 退出当前用户,返回 ...

  6. 开发环境入门 linux基础 (部分)网络 SSH 更名 DNS解析 元字符

    nginx---> web ifconfig 查看网络配置信息 id add show 查看当前网卡信息(最小安装下) mtu 是指网卡传输的最大单元 单位:字节 网卡配置 临时配置 ifcon ...

  7. 开发环境入门 linux基础 (部分)nginx和nfs

    nginx和nfs 复习总结 rpm -ivh 软件包 --nodeps (没有依赖性安装) rpm -ivh 软件包 --force (覆盖安装) yum -y upgrade 升级所有包,不改变软 ...

  8. 开发环境入门 linux基础 (部分) 归档 压缩 Vi编译器 系统分区

    归档 压缩 Vi编译器 系统分区 1.使用cat命令进行文件的纵向合并          1) 使用cat命令实现文件的纵向合并:          a) 例如:将用户信息数据库文件和组信息数据库文件 ...

  9. 使用Ant搭建Android开发环境入门

    使用Ant搭建Android开发环境入门   使用Ant搭建Android开发环境,建立android项目 配置Ant环境 下载Ant:http://ant.apache.org/bindownloa ...

随机推荐

  1. 如何开启和禁止Linux系统的ping功能

    在日常的网络维护和使用过程中,ping命令是最为常用的一个检测命令,它所使用的是ICMP协议,但是为了保护主机,很多时候我们需要禁止ICMP协议,在这种情况下,终端再使用ping命令检测,服务器是不会 ...

  2. Tomcat学习之Wrapper

    Tomcat学习之Wrapper 分类: WEB服务器2012-08-30 22:16 1547人阅读 评论(0) 收藏 举报 tomcatservletwrapperservletslistexce ...

  3. 【转】meta标签中的http-equiv属性使用介绍

    meta是html语言head区的一个辅助性标签.也许你认为这些代码可有可无.其实如果你能够用好meta标签,会给你带来意想不到的效果,meta标签的作用有:搜索引擎优化(SEO),定义页面使用语言, ...

  4. Qt QTreeWidget节点的添加+双击响应+删除详解

    转自: http://www.cnblogs.com/Romi/archive/2012/08/08/2628163.html 承接该文http://www.cnblogs.com/Romi/arch ...

  5. Spring初学之通过工厂方法配置Bean

    工厂方法配置bean分为两种,一种是实例工厂方法,另一种是静态工厂方法. 先来看看实体bean: Car.java: package spring.beans.factory; public clas ...

  6. Visual Studio 当前不会命中断点的问题 编辑pdf文件

    Visual Studio 当前不会命中断点的问题 PDB文件概述

  7. Codeforces Round #304 (Div. 2) D. Soldier and Number Game 素数打表+质因数分解

    D. Soldier and Number Game time limit per test 3 seconds memory limit per test 256 megabytes input s ...

  8. PHP使用header+Location实现网站301重定向

    对于我们SEO人员来说,有的时候需要对网站进行重定向.一般来说,对网站重定向的http返回状态码是301和302两种.下面兰州SEO就通过实例来为你介绍一下怎样通过PHP使用header+Locati ...

  9. php特级课---3、常用的网站加速技术有哪些

    php特级课---3.常用的网站加速技术有哪些 一.总结 一句话总结:网站加速技术是一组技术的组合,来提升网站的速度 1.Squid代理缓存技术 2.页面静态化缓存 3.Memcache 4.Sphi ...

  10. Memcached之缓存雪崩,缓存穿透,缓存预热,缓存算法

    缓存雪崩 缓存雪崩可能是因为数据未加载到缓存中,或者缓存同一时间大面积的失效,从而导致所有请求都去查数据库,导致数据库CPU和内存负载过高,甚至宕机. 解决思路: 1,采用加锁计数,或者使用合理的队列 ...