小白的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

小白的python之路11/14

可以看见顺序是 1 5 3 4 2

70  正则表达式

grep过滤小白的python之路11/14

小白的python之路11/14

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

-l  :如果匹配成功,则只将文件名打印出来,失败则不打印,通常-rl一起用,grep -rl 'root' /etc 
-A  :如果匹配成功,则将匹配行及其后n行一起打印出来
-B  :如果匹配成功,则将匹配行及其前n行一起打印出来
-C  :如果匹配成功,则将匹配行及其前后n行一起打印出来
--color
-c  :如果匹配成功,则将匹配到的行数打印出来
-E  :等于egrep,扩展
-i  :忽略大小写

-v  :取反,不匹配
-w:匹配单词

小白的python之路11/14

^以……开头  $以……结尾

. 点 是任意字符 eg:grep '^b.n' 开头为b中间任意字符第三个字符是n的

*前面n个下图是eg  *是0到无穷个  +是1到无数个

小白的python之路11/14

小白的python之路11/14

小白的python之路11/14

小白的python之路11/14

sed流式编辑器

语法
sed [options] 'command' in_file[s]
options 部分
-n
-e
-i
-f

小白的python之路11/14

小白的python之路11/14

小白的python之路11/14

d表示删除 第一个是一到三行  第二个是一和三行

小白的python之路11/14

正则定位

小白的python之路11/14

74

删第一部分

小白的python之路11/14

删后面部分

小白的python之路11/14

1 3 部分互换

小白的python之路11/14

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】集合数据类型(set)


下一篇:常用jQuery代码