视频69 固定命令的方式
1 vim /etc/profile2 vim /etc/bashrc3 vim /root/.bashrc4 vim /root/.bash_profile5 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;dd22, a.txt内容 ABC DEF XYZ 通过SED实现tac命令 tac a.txt XYZ DEF ABC1. sed -r 's/^(.)(.*)/\2/' /etc/passwd2. sed -r 's/^(.)(.)(.*)/\1\3/' /etc/passwd3. sed -r 's/(.*)(.)$/\1/' /etc/passwd4. sed -r 's/(.*)(.)(.)$/\1\3/' /etc/passwd5. sed -r 's/^([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]+)/\1\2\4/' /etc/passwd6. sed -r 's/([^a-Z]+)([a-Z]+)([^a-Z]+)([a-Z]+)$/\1\3\4/' /etc/passwd7. sed -r 's/([^a-Z]+)([a-Z]+)([^a-Z]+)([a-Z]+)$/\1\2\3/' /etc/passwd8. sed -r 's/^(.)(.*)(.)$/\3\2\1/' /etc/passwd9. sed -r 's/^(.)([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]+)/\4\2\3\1\5/' /etc/passwd10. sed -r 's/^([a-Z]+)([^a-Z]+)(.*)([^a-Z]+)([a-Z]+)$/\5\2\3\4\1/' /etc/passwd11. sed -r 's/[0-9]//g' /etc/passwd12. sed -r 's/^ *//g' /etc/passwd13. sed -r 's/ /\t/g' /etc/passwd14. sed -r 's/[A-Z]/(&)/g' /etc/passwd15. sed 'p;p' /etc/passwd16. sed '1~2d' /etc/passwd选做题17-18:文件内容[root@MiWiFi-R3-srv ~]# cat test 22222222224444444444666666666688888888888817.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/passwd20. sed -r 's/^([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]+)/\5\2\3\4\1\6/' /etc/passwd21. 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