python 全栈 linux基础 (部分)正则表达式 grep sed

/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

时间: 2024-08-04 22:19:19

python 全栈 linux基础 (部分)正则表达式 grep sed的相关文章

python 全栈 linux基础 (部分)网络 SSH 更名 DNS解析 元字符

nginx---> web ifconfig 查看网络配置信息 id add show 查看当前网卡信息(最小安装下) mtu 是指网卡传输的最大单元 单位:字节 网卡配置 临时配置 ifconfig 网卡名 IP地址/子网 DNS:vim /etc/resolv.conf 网关: (填加)route add default gw 网关  netmask 255.255.255.0 (删除)route del default gw 网关  netmask 255.255.255.0 查看配置:r

python全栈开发基础【第十九篇】进程

一.什么是进程 进程:正在进行的一个过程或是一个任务.而负责执行任务的是CPU. 举例:(单核+多道,实现多个进程的并发): 比如说你就是一个CPU,你下午有几个活要干,吃饭,洗衣服,上厕所等.但是就在那一下午要把所有的事干完(而CPU同一时间只能干一件事),那么如何才能让多个任务实现并发执行的效果呢?那么,你应该这样做,你可以先做饭,在等待饭熟的过程中你可以去洗个衣服,洗的差不多饭也就熟了,那么你在去上个厕所也可以嘛. 二.进程与程序的区别 程序仅仅只是一堆代码而已,而进程指的是程序的运行过程

17.python全栈之路:正则表达式全面解析

正则表达式 一.认识正则表达式 正则表达式是什么 ? 正则表达式是一门单独的语音,不仅属python,很多语言都可以调用它,它自成体系 正则表达式有什么用呢? 首先我们看一下python自带的字符串的一些功能方法 str1 = "abcdefg" result1 = str1.find("b") result2 = str1.find("bc") result3 = str1.split("b") result4 = str1

Python全栈_Python基础_Day1

1.Python简介 Python是著名的"龟叔"Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. python是一门解释型语言. 解释型语言:程序运行由解释器,一条一条读取解释执行. python程序执行的过程:源代码=====>>字节码文件======>>解释器======>>机器码. Python分为3.X版本和2.X版本,两个版本互不兼容. 2.Python安装 下载:https://www.

python全栈开发基础【第二十三篇】线程

一.什么是线程 线程:顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程 所以,进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程才是cpu上的执行单位. 多线程(即多个控制线程)的概念是,在一个进程中存在多个控制线程,多个控制线程共享该进程的地址空间,相当于一个车间内有多条流水线,都共用一个车间的资源.(一个进程里面开多个线程(共享同一个进程里面的内存空间)) 例如,北京地铁与上海地铁是不同的进程,而北京地铁里的13号线是一个

&lt;python全栈开发基础&gt;学习过程笔记【18d】os模块

os模块调用操作系统,对文件和文件夹进行操作 1.头文件 impoet os 2os.getcwd() 作用:当前脚本工作的目录路径 print(os.getcwd()) 输出: ========================== RESTART: D:/haha/18_1.py ========================== D:\haha 2.os.chdir("目录名") 作用:改变当前脚本工作目录 os.chdir("d:\\Python") pri

python 全栈 web基础(五)Jquery

jQuery是一个快速的,简洁的javaScript库(占空间特别小,但功能强大!兼容性极强!),这个库里封装了一些方法,使用户能更方便地处理HTMLdocuments.events.实现动画效果,并且方便地为网站提供AJAX交互. 一.jQuery对象 jQuery 对象就是通过jQuery包装DOM对象后产生的对象.jQuery 对象是 jQuery 独有的. 如果一个对象是 jQuery 对象, 那么它就可以使用 jQuery 里的方法. jquery的基础语法:$(selector).a

python全栈开发基础

python概述:版本:1.python2版本python2.3python2.72.pyhton3版本python3.5python3.7(最新版本)python2版本python3版本不兼容(不向下兼容)python优缺点:1.易学易用2.开发效率高缺点:1.相对于c/c++执行速度不够快3.我的第一个python程序Sublime编辑器(码农最喜欢的编辑器之一)1.字体放大缩小:ctrl + 鼠标滑轮ctrl + "+"大/"-"小2.左侧导航栏:view -

python全栈开发基础【补充】异常处理

一.错误与异常 程序中难免会出现错误,而错误分为两种 1.语法错误:(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) 2.逻辑错误:(逻辑错误),比如用户输入的不合适等一系列错误 那什么是异常呢? 异常就是程序运行时发生错误的信号,在python中,错误触发的异常如下.异常发生之后,异常之后的代码就不执行了 异常种类:在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识, 不同的类对象标识不同的异常,一个异常标识一种错误 常见的异