小白的python之路11/14
视频69 固定命令的方式
- 1 vim /etc/profile
- 2 vim /etc/bashrc
- 3 vim /root/.bashrc
- 4 vim /root/.bash_profile
- 5 cd /etc/profile.d vim a.sh
- 1-4以上都写入echo' /etc/profile'
- 5 写入echo'/etc/profile.d/a.sh' chmod +x a.sh
可以看见顺序是 1 5 3 4 2
70 正则表达式
grep过滤
-n :显示行号
-o :只显示匹配的内容
-q :静默模式,没有任何输出,得用$?来判断执行成功没有,即有没有过滤到想要的内容
-l :如果匹配成功,则只将文件名打印出来,失败则不打印,通常-rl一起用,grep -rl 'root' /etc
-A :如果匹配成功,则将匹配行及其后n行一起打印出来
-B :如果匹配成功,则将匹配行及其前n行一起打印出来
-C :如果匹配成功,则将匹配行及其前后n行一起打印出来
--color
-c :如果匹配成功,则将匹配到的行数打印出来
-E :等于egrep,扩展
-i :忽略大小写
-v :取反,不匹配
-w:匹配单词
^以……开头 $以……结尾
. 点 是任意字符 eg:grep '^b.n' 开头为b中间任意字符第三个字符是n的
*前面n个下图是eg *是0到无穷个 +是1到无数个
sed流式编辑器
语法
sed [options] 'command' in_file[s]
options 部分
-n
-e
-i
-f
d表示删除 第一个是一到三行 第二个是一和三行
正则定位
74
删第一部分
删后面部分
1 3 部分互换
- Sed作业:以/etc/passwd文件为模板
- 1,删除文件每行的第一个字符。
- 2,删除文件每行的第二个字符。
- 3,删除文件每行的最后一个字符。
- 4,删除文件每行的倒数第二个字符。
- 5,删除文件每行的第二个单词。
- 6,删除文件每行的倒数第二个单词。
- 7,删除文件每行的最后一个单词。
- 8,交换每行的第一个字符和第二个字符。
- 9,交换每行的第一个字符和第二个单词。
- 10,交换每行的第一个单词和最后一个单词。
- 11,删除一个文件中所有的数字。
- 12,删除每行开头的所有空格。
- 13,用制表符替换文件中出现的所有空格。
- 14,把所有大写字母用括号()括起来。
- 15,打印每行3次。
- 16,隔行删除。
- 17,把文件从第2行到第5行复制到第7行后面。(选做题)
- 18,把文件从第2行到第5行移动到第7行后面。(选做题)
- 19,只显示每行的第一个单词。
- 20,打印每行的第一个单词和第三个单词。
- 21,将格式为 mm/yy/dd 的日期格式换成 mm;yy;dd
- 22, a.txt内容
- ABC
- DEF
- XYZ
- 通过SED实现tac命令
- tac a.txt
- XYZ
- DEF
- ABC
- 1. sed -r 's/^(.)(.*)/\2/' /etc/passwd
- 2. sed -r 's/^(.)(.)(.*)/\1\3/' /etc/passwd
- 3. sed -r 's/(.*)(.)$/\1/' /etc/passwd
- 4. sed -r 's/(.*)(.)(.)$/\1\3/' /etc/passwd
- 5. sed -r 's/^([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]+)/\1\2\4/' /etc/passwd
- 6. sed -r 's/([^a-Z]+)([a-Z]+)([^a-Z]+)([a-Z]+)$/\1\3\4/' /etc/passwd
- 7. sed -r 's/([^a-Z]+)([a-Z]+)([^a-Z]+)([a-Z]+)$/\1\2\3/' /etc/passwd
- 8. sed -r 's/^(.)(.*)(.)$/\3\2\1/' /etc/passwd
- 9. sed -r 's/^(.)([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]+)/\4\2\3\1\5/' /etc/passwd
- 10. sed -r 's/^([a-Z]+)([^a-Z]+)(.*)([^a-Z]+)([a-Z]+)$/\5\2\3\4\1/' /etc/passwd
- 11. sed -r 's/[0-9]//g' /etc/passwd
- 12. sed -r 's/^ *//g' /etc/passwd
- 13. sed -r 's/ /\t/g' /etc/passwd
- 14. sed -r 's/[A-Z]/(&)/g' /etc/passwd
- 15. sed 'p;p' /etc/passwd
- 16. sed '1~2d' /etc/passwd
- 选做题17-18:文件内容
- [root@MiWiFi-R3-srv ~]# cat test
- 2222222222
- 4444444444
- 6666666666
- 888888888888
- 17.sed '2h;3,5H;7G' test
- 18. sed '2h;3,5H;2,5d;7G' test
- 19. sed -r 's/^([a-Z]+)([^a-Z]+)(.*)/\1/' /etc/passwd
- 20. sed -r 's/^([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]+)/\5\2\3\4\1\6/' /etc/passwd
- 21.
- 22. sed -r '{1h;1d;2G;2h;2d;3G;3h}'
- 23.
- echo "2012/12/11" |sed -r 's/\//:/g'
- echo "2012/12/11" |sed -r 's#\/#:#g'
- echo "2012/12/11" |sed -r 's@\/@:@g'
- sed作业
林海峰老师博客关于今天的内容:http://www.cnblogs.com/linhaifeng/p/6596660.html
小白的python之路11/14的更多相关文章
- 小白的python之路11/15 awk 77-78
awk -F指定分隔符 eg下图指定 : 为分隔符,$1 $4 NF表示以分隔符为表准,该行分了几段 $NF表示取最后一段 正则表达式 表示打印第一个开头的用户名awk -F: '/nolog ...
- 小白的python之路11/3内存 进程 二进制软件包 rpm yum
一 分区 查看swap分区 swapon -s mkswap /dev/sdb8 激活 swapon -a /dev/sdb8 swapon -s (sdb8进入了文件中) 提供内存服务 free ( ...
- 小白的python之路11/3总结
ln-s 指定源是谁 l是软连接,其中源文件相当于快捷方式 1.打包 归档命令 tar -cvzf test.tar a.txt b.txt c.txt其中c是创建,v是详细信息,f是打包后文件名,a ...
- 小白的Python之路 day1 变量
Python之路,Day1 - Python基础1 变量 变量用于存储在计算机程序中引用和操作的信息.它们还提供了一种用描述性名称标记数据的方法,这样我们的程序就能更清晰地被读者和我们自己理解.将变量 ...
- 小白的Python之路 day1
Python之路,Day1 - Python基础1 本节内容 Python介绍 发展史 Python 2 or 3? 一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van ...
- 小白学 Python 爬虫(11):urllib 基础使用(一)
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- 小白学 Python 数据分析(11):Pandas (十)数据分组
人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...
- 小白的python之路10/31&11/1文件操作系统
文件操作系统的介绍 ext4的superblock块是超级快,innode 块是专门存放文件信息的, block count将硬盘做成block块,对操作系统而言写在block块上就可了,eg:文件1 ...
- 小白的Python之路 day1 用户输入
1 2 3 4 5 6 7 8 #!/usr/bin/env python #_*_coding:utf-8_*_ username =input("username:") p ...
随机推荐
- Jenkins 配置git
点击"新建任务"创建一个自用风格的项目 点击"源码管理",选择 git 系统管理 --> Global Tool Configuration<为访问 ...
- 为KindEditor 添加“一键去除空格功能”
环境说明:KindEditor 4.1.11 一.确定你在使用KindEditor时,引用的是kindEditor-all.js,找到任何一个已经存在的功能,例如,清除HTML代码,我在做的时候本来 ...
- spring框架-jdbc
一.实体层的不同名字 entity 实体类 :就是和数据库表一一对应的JavaBean pojo 简单的java对象:任何应用场景的JavaBean po 持久化对象 :就是和数据库表一一对 ...
- 解析docker中的环境变量使用和常见问题解决
docker容器中的环境变量 docker可以为容器配置环境变量.配置的途径有两种: 在制作镜像时,通过ENV命令为镜像增加环境变量.在容器启动时使用该环境变量. 在容器启动时候,通过参数配置环境变量 ...
- Android系统应用Mms之Sms短信发送流程(Mms应用部分)二
1. 新建一条短信, 在发送短信之前, 首先创建的是一个会话Conversation, 以后所有与该接收人(一个或多个接收人)的消息交互, 都在该会话Conversation中. ComposeMes ...
- Python day 03
dya 03 今日内容 整形 布尔类型 字符串 补充 运算符补充 in value = '我是中国人' # 判断'中国'是否是value所代指的字符串的子序列. v1 = '中国' in value ...
- HTTP之gRPC
gRPC 官方文档 gRPC 是一个高性能.开源和通用的 RPC 框架,面向移动和 HTTP/2 设计. gRPC 基于 HTTP/2 标准设计,带来诸如双向流.流控.头部压缩.单 TCP 连接上的多 ...
- SAP 成套销售&按项目销售
http://blog.sina.com.cn/s/blog_95ac31e30102x5we.html 分类: SAP_SD SAP 成套销售&按项目销售 一.业务简介 成套销售(KIT ...
- 解决问题:怎样在页面获取数组和List集合的长度
解决问题:怎样在页面获取数组和List集合的长度 我们在前端遍历后台数据的时候,经常是从后台传过来一个数组或List集合,在前端页面就可以使用JSTL的<c:For each>标签遍历数据 ...
- UI组件--element-ui--Upload多组件自定义上传
需求: 提交详细信息的表单, 并上传对应图片(如下图), 后台接口要求表单数据和图片需要一次上传完成.. 分析: 实际上, 每个element-ui Upload组件都应发送一次请求, 很明显不符合我 ...