视频69  固定命令的方式

  1. 1 vim /etc/profile
  2. 2 vim /etc/bashrc
  3. 3 vim /root/.bashrc
  4. 4 vim /root/.bash_profile
  5. 5 cd /etc/profile.d vim a.sh
  6.  
  7. 1-4以上都写入echo' /etc/profile'
  8. 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 部分互换

  1. Sed作业:以/etc/passwd文件为模板
  2.  
  3. 1,删除文件每行的第一个字符。
  4.  
  5. 2,删除文件每行的第二个字符。
  6.  
  7. 3,删除文件每行的最后一个字符。
  8.  
  9. 4,删除文件每行的倒数第二个字符。
  10.  
  11. 5,删除文件每行的第二个单词。
  12.  
  13. 6,删除文件每行的倒数第二个单词。
  14.  
  15. 7,删除文件每行的最后一个单词。
  16.  
  17. 8,交换每行的第一个字符和第二个字符。
  18.  
  19. 9,交换每行的第一个字符和第二个单词。
  20.  
  21. 10,交换每行的第一个单词和最后一个单词。
  22.  
  23. 11,删除一个文件中所有的数字。
  24.  
  25. 12,删除每行开头的所有空格。
  26.  
  27. 13,用制表符替换文件中出现的所有空格。
  28.  
  29. 14,把所有大写字母用括号()括起来。
  30.  
  31. 15,打印每行3次。
  32.  
  33. 16,隔行删除。
  34.  
  35. 17,把文件从第2行到第5行复制到第7行后面。(选做题)
  36.  
  37. 18,把文件从第2行到第5行移动到第7行后面。(选做题)
  38.  
  39. 19,只显示每行的第一个单词。
  40.  
  41. 20,打印每行的第一个单词和第三个单词。
  42.  
  43. 21,将格式为 mm/yy/dd 的日期格式换成 mmyydd
  44.  
  45. 22, a.txt内容
  46. ABC
  47. DEF
  48. XYZ
  49. 通过SED实现tac命令
  50. tac a.txt
  51. XYZ
  52. DEF
  53. ABC
  54.  
  55. 1. sed -r 's/^(.)(.*)/\2/' /etc/passwd
  56. 2. sed -r 's/^(.)(.)(.*)/\1\3/' /etc/passwd
  57. 3. sed -r 's/(.*)(.)$/\1/' /etc/passwd
  58. 4. sed -r 's/(.*)(.)(.)$/\1\3/' /etc/passwd
  59. 5. sed -r 's/^([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]+)/\1\2\4/' /etc/passwd
  60. 6. sed -r 's/([^a-Z]+)([a-Z]+)([^a-Z]+)([a-Z]+)$/\1\3\4/' /etc/passwd
  61. 7. sed -r 's/([^a-Z]+)([a-Z]+)([^a-Z]+)([a-Z]+)$/\1\2\3/' /etc/passwd
  62. 8. sed -r 's/^(.)(.*)(.)$/\3\2\1/' /etc/passwd
  63. 9. sed -r 's/^(.)([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]+)/\4\2\3\1\5/' /etc/passwd
  64. 10. sed -r 's/^([a-Z]+)([^a-Z]+)(.*)([^a-Z]+)([a-Z]+)$/\5\2\3\4\1/' /etc/passwd
  65. 11. sed -r 's/[0-9]//g' /etc/passwd
  66. 12. sed -r 's/^ *//g' /etc/passwd
  67. 13. sed -r 's/ /\t/g' /etc/passwd
  68. 14. sed -r 's/[A-Z]/(&)/g' /etc/passwd
  69. 15. sed 'p;p' /etc/passwd
  70. 16. sed '1~2d' /etc/passwd
  71.  
  72. 选做题17-18:文件内容
  73. [root@MiWiFi-R3-srv ~]# cat test
  74. 2222222222
  75. 4444444444
  76. 6666666666
  77. 888888888888
  78.  
  79. 17.sed '2h;3,5H;7G' test
  80.  
  81. 18. sed '2h;3,5H;2,5d;7G' test
  82.  
  83. 19. sed -r 's/^([a-Z]+)([^a-Z]+)(.*)/\1/' /etc/passwd
  84. 20. sed -r 's/^([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]+)/\5\2\3\4\1\6/' /etc/passwd
  85. 21.
  86. 22. sed -r '{1h;1d;2G;2h;2d;3G;3h}'
  87. 23.
  88. echo "2012/12/11" |sed -r 's/\//:/g'
  89. echo "2012/12/11" |sed -r 's#\/#:#g'
  90. echo "2012/12/11" |sed -r 's@\/@:@g'
  91.  
  92. sed作业

  林海峰老师博客关于今天的内容:http://www.cnblogs.com/linhaifeng/p/6596660.html

小白的python之路11/14的更多相关文章

  1. 小白的python之路11/15 awk 77-78

    awk -F指定分隔符  eg下图指定 : 为分隔符,$1 $4 NF表示以分隔符为表准,该行分了几段    $NF表示取最后一段 正则表达式 表示打印第一个开头的用户名awk -F: '/nolog ...

  2. 小白的python之路11/3内存 进程 二进制软件包 rpm yum

    一 分区 查看swap分区 swapon -s mkswap /dev/sdb8 激活 swapon -a /dev/sdb8 swapon -s (sdb8进入了文件中) 提供内存服务 free ( ...

  3. 小白的python之路11/3总结

    ln-s 指定源是谁 l是软连接,其中源文件相当于快捷方式 1.打包 归档命令 tar -cvzf test.tar a.txt b.txt c.txt其中c是创建,v是详细信息,f是打包后文件名,a ...

  4. 小白的Python之路 day1 变量

    Python之路,Day1 - Python基础1 变量 变量用于存储在计算机程序中引用和操作的信息.它们还提供了一种用描述性名称标记数据的方法,这样我们的程序就能更清晰地被读者和我们自己理解.将变量 ...

  5. 小白的Python之路 day1

    Python之路,Day1 - Python基础1 本节内容 Python介绍 发展史 Python 2 or 3? 一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van ...

  6. 小白学 Python 爬虫(11):urllib 基础使用(一)

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  7. 小白学 Python 数据分析(11):Pandas (十)数据分组

    人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...

  8. 小白的python之路10/31&11/1文件操作系统

    文件操作系统的介绍 ext4的superblock块是超级快,innode 块是专门存放文件信息的, block count将硬盘做成block块,对操作系统而言写在block块上就可了,eg:文件1 ...

  9. 小白的Python之路 day1 用户输入

    1 2 3 4 5 6 7 8 #!/usr/bin/env python #_*_coding:utf-8_*_   username =input("username:") p ...

随机推荐

  1. Jenkins 配置git

    点击"新建任务"创建一个自用风格的项目 点击"源码管理",选择 git 系统管理 --> Global Tool Configuration<为访问 ...

  2. 为KindEditor 添加“一键去除空格功能”

    环境说明:KindEditor  4.1.11 一.确定你在使用KindEditor时,引用的是kindEditor-all.js,找到任何一个已经存在的功能,例如,清除HTML代码,我在做的时候本来 ...

  3. spring框架-jdbc

    一.实体层的不同名字    entity 实体类 :就是和数据库表一一对应的JavaBean  pojo 简单的java对象:任何应用场景的JavaBean  po 持久化对象 :就是和数据库表一一对 ...

  4. 解析docker中的环境变量使用和常见问题解决

    docker容器中的环境变量 docker可以为容器配置环境变量.配置的途径有两种: 在制作镜像时,通过ENV命令为镜像增加环境变量.在容器启动时使用该环境变量. 在容器启动时候,通过参数配置环境变量 ...

  5. Android系统应用Mms之Sms短信发送流程(Mms应用部分)二

    1. 新建一条短信, 在发送短信之前, 首先创建的是一个会话Conversation, 以后所有与该接收人(一个或多个接收人)的消息交互, 都在该会话Conversation中. ComposeMes ...

  6. Python day 03

    dya 03 今日内容 整形 布尔类型 字符串 补充 运算符补充 in value = '我是中国人' # 判断'中国'是否是value所代指的字符串的子序列. v1 = '中国' in value ...

  7. HTTP之gRPC

    gRPC 官方文档 gRPC 是一个高性能.开源和通用的 RPC 框架,面向移动和 HTTP/2 设计. gRPC 基于 HTTP/2 标准设计,带来诸如双向流.流控.头部压缩.单 TCP 连接上的多 ...

  8. SAP 成套销售&按项目销售

    http://blog.sina.com.cn/s/blog_95ac31e30102x5we.html   分类: SAP_SD SAP 成套销售&按项目销售 一.业务简介 成套销售(KIT ...

  9. 解决问题:怎样在页面获取数组和List集合的长度

    解决问题:怎样在页面获取数组和List集合的长度 我们在前端遍历后台数据的时候,经常是从后台传过来一个数组或List集合,在前端页面就可以使用JSTL的<c:For each>标签遍历数据 ...

  10. UI组件--element-ui--Upload多组件自定义上传

    需求: 提交详细信息的表单, 并上传对应图片(如下图), 后台接口要求表单数据和图片需要一次上传完成.. 分析: 实际上, 每个element-ui Upload组件都应发送一次请求, 很明显不符合我 ...