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

本文详细介绍了如何在Linux系统中通过`/etc/profile`和`.bashrc`配置环境变量以实现永久生效。此外,文章深入探讨了正则表达式的概念和应用,并列举了`grep`、`sed`等文本处理工具的常用命令及实例,如过滤、替换、追加和删除文本。通过这些工具,可以高效地在文件中定位和操作特定内容。
摘要由CSDN通过智能技术生成

/etc/profile

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

/root/.bashrc

/root/.bash_profile

正则表达式

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

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

grep(过滤)

参数

-n  :显示行号

2c1a82eefee896f9ffb0098fd431a724.png

-o  :只显示匹配的内容

1f9ac525d026ecd7cbf85ce27e3ad508.png

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

b911defe5c4bd9b56ef7de0dcc966f8e.png

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

grep -rl ‘root‘ /etc

337a0ae01ae4522f9acdae41aa81ab5f.png

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

c07fa12ac95e4df90bda4b28c025c0b5.png

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

04b468fdf96975e8dd0b926ff487afda.png

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

bb86902299f5909e8efff893c2d68b16.png

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

95d8b790f08edd3f0968bccafd5898d8.png

-E  :等于egrep,扩展

grep -E ==== egrep

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

92f5151fa7d6f2021d68c6e8e7da81de.png

-v  :取反,不匹配

9ff165cfd69799f98c9a57b918bb2d45.png

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

9df0cf6e8af8d19fbbd25422031d1944.png

正则介绍

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

d7398d347ee72b4ecdf43279d1999ceb.png

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

bb2986fb7a8eff50f4dc71f69d3e9604.png

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

01339027c09a82e7b30af8b69490482c.png

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

476ac38402d4ed4ad4a09edc6b85589d.png

376c32b69a6618645be2ec546acb856e.png

f9f6b2f131c8aac11b5fe7e6f8197bbc.png

bf0c114cb33e38c1bd46dd6436371345.png

167be9785b5fe40b45903596763cf7d9.png

2e7116a0941375f4c4edc825371793db.png

.* 所有字符

83ef136d18f810ac033f377b00ee56d1.png

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

248fde430c619577ba0bdafdd1214b50.png

b97b8e4ed1ad1a1f45ef2602184c2f1b.png

e09c2de37bb8949584aa80b5429f6224.png

fbe98e60fcd46517f7653c891adf816f.png

8d8a631788ed36353cde077143f7887d.png

4b28791e9ba5c99f08d1207f93f138fa.png

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

^[^] 非字符组内的字符开头的行

c9351a5ee453551d1a0e4e00f6d0e278.png

[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

时间: 03-21

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值