查看“Linux-2020-spring-4-15”的源代码
←
Linux-2020-spring-4-15
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看和复制此页面的源代码。
== 复习 及 vi中的正则表达式 == * vi中的查找 末行模式下,输入"/"做forward查找,"?"表示backward查找;进而输入n表示next,N表示previous /std # 查找字符串"std" * vi中的替换(末行模式下) :s/std/stdin/(当前行的第一个std替换成stdin) :s/std/stdin/g(当前行std全局替换成stdin,第一个/是定界符) :%s/std/stdin/(所有行的第一个std替换成stdin) :%s/std/stdin/g(所有行std全局替换成stdin,第一个/是定界符) 等价于:0,$s/std/stdin/g :s/std/stdin/3(当前行开始3行的第一个std替换成stdin) :s/std/stdin/g3(当前行开始3行的std全局替换成stdin) :26s/std/stdin/g(26行std全局替换成stdin,第一个/是定界符) :23,26s/std/stdin/g(23到26行std全局替换成stdin,第一个/是定界符) :.,$s/std/stdin/g(当前行到文章末尾std全局替换成stdin,第一个/是定界符) :.,.+3s/std/stdin/g(当前行开始3行std全局替换成stdin) :s/std[inout]*/(&)/g2(当前行开始2行stdin或者stdout全局替换成加括号的stdin和stdout) * vi中的删除(末行模式下) :15,20d(删除15到20行) :0,.d(删除零到当前行) * 正则表达式复习 . [] [a-Z]:字符类(集合),只能匹配一个字符 [0-9]等价于\d(预定义字符类)等价于[[:digit:]] [^] [ \t\r\n]:空白符(空格,tab,回车)等价于\s等价于[[:space:]] * ? {} () & == sed (stream editor) == 语法sed [opt] "cmd" file 编辑 ----vim 打开文件替换 ----sed:不用打开文件 sed 's/std/stdin/g' main.txt > main.2.txt :main.txt内容不变,定界符还可以为# sed -i 's/std/stdin/g' main.2.txt :会替换掉main.2.txt中的内容 sed -r 's/^([0-9]*)([/t ]*)([^/t ]*)/\3\2\1/' main.txt :(第一个^表示一行的开始,\1表示第一分组(括号)匹配的内容) sed -r 's/^(([0-9]*)([/t ]*)([^/t ]*))/\4\3\2/' main.txt :分组按照左括号开始匹配内容 sed -r 's/std[inout]*/(&)/g' main.2.txt 删除 sed '2,&d' main.txt sed '/^std/d' main.txt 删除以std开头的行
返回至
Linux-2020-spring-4-15
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
新闻
成员介绍
研究组
科研项目
发表论文
在线演示
工具
链入页面
相关更改
特殊页面
页面信息