root 5 years ago
parent 87e02f78b9
commit 8e05654723

@ -32,7 +32,7 @@ sed脚本。其他非选项参数被视为输入文件如果没有输入文
### sed命令
```
```markdown
a\ 在当前行下面插入文本
i\ 在当前行上面插入文本
c\ 把选定的行改为新的文本
@ -53,11 +53,11 @@ b lable 分支到脚本中带有标记的地方,如果分支不存在则分
r file 从file中读行
t label if分支从最后一行开始条件一旦满足或者Tt命令将导致分支到带有标号的命处或者到脚本的末尾
T label 错误分支从最后一行开始一旦发生错误或者Tt命令将导致分支到带有标号的令处或者到脚本的末尾
w file 写并追加模板块到file末尾。
W file 写并追加模板块的第一行到file末尾。
! 表示后面的命令对所有没有被选定的行发生作用。
= 打印当前行号码。
# 把注释扩展到下一个换行符以前。
w file 写并追加模板块到file末尾。
W file 写并追加模板块的第一行到file末尾。
! 表示后面的命令对所有没有被选定的行发生作用。
= 打印当前行号码。
# 把注释扩展到下一个换行符以前。
```
### sed替换标记
@ -79,7 +79,7 @@ y 表示把一个字符翻译为另外的字符(但是不用于正则表达
$ 匹配行结束,如:/sed$/匹配所有以sed结尾的行
. 匹配一个非换行符的任意字符,如:/s.d/匹配s后接一个任意字符最后是d
* 匹配0个或多个字符/*sed/匹配所有模板是一个或多个空格后紧跟sed的行
[] 匹配一个指定范围内的字符,如/[ss]ed/匹配sed和Sed。
[] 匹配一个指定范围内的字符,如/[ss]ed/匹配sed和Sed。
[^] 匹配一个不在指定范围内的字符,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一个字开头紧跟ed的行
\(..\) 匹配子串保存匹配的字符如s/\(love\)able/\1rsloveable被替换成lovers
& 保存搜索字符用来替换其他字符如s/love/ & /love这成 love
@ -152,7 +152,7 @@ comment
sed -e '/test/h' -e '/check/x' file
: << comment
保持和互换h命令和x命令
保持和互换h命令和x命令
互换模式空间和保持缓冲区的内容。此例也就是把包含test与check的行互换
comment
@ -378,7 +378,7 @@ sed 's/.\x08//g' # sed 1.5GNU sedssed所使用的十六进制的
sed '/^$/q' # 删除第一行空行后的所有内容,可用于提取新闻组或 e-mail 的邮件头
sed '1,/^$/d' # 删除第一行空行之前的所有内容,可用于提取新闻组或e-mail的正文部分
sed '/^Subject: */!d; s///;q' # 从邮件头提取“Subject”标题栏字段并移除开头的“Subject:”字样
sed '/^Reply-To:/q; /^From:/h; /./d;g;q' # 从邮件头获得回复地址
sed '/^Reply-To:/q; /^From:/h; /./d;g;q' # 从邮件头获得回复地址
sed 's/ *(.*)//; s/>.*//; s/.*[:<] *//' # 获取邮件地址。在上一个脚本所产生的那一行邮件头的基础上进一步的将非电邮地址的部分剃除。(见上一脚本)
sed 's/^/> /' # 在每一行开头加上一个尖括号和空格(引用信息)
sed 's/^> //' # 将每一行开头处的尖括号和空格删除(解除引用)

Loading…
Cancel
Save