首页 > 其他 > 详细

SED LEARN NOTE

时间:2021-02-28 00:11:42      阅读:27      评论:0      收藏:0      [点我收藏+]

SED LEARN NOTE

参考资料

SED LEARN NOTE

sed基本格式

  • sed [option] [sed-command] input-file
  • sed对文本的每一行依次执行sed-command,最终返回处理结果
  • 通常sed-command都在单引号中
#options

-e<script>或--expression=<script>:以选项中的指定的script来处理输入的文本文件;
-f<script文件>或--file=<script文件>:以选项中指定的script文件来处理输入的文本文件;
-h或--help:显示帮助;
-n或--quiet或——silent:仅显示script处理后的结果;
-V或--version:显示版本信息。

sed -f

  • sed [ options ] –f {sed-commands-in-a-file} {input-file}
  • 将sed-command放在file.sed文件中
  • sed -f file.sed input-file对文本进行多个命令的处理

sed -e

  • sed [ options ] –e {sed-command-1} –e {sed-command-2} {input-file}
  • 下面code block中是耗子叔在其sed tutorial中的写法
$ sed ‘1,3s/my/your/g; 3,$s/This/That/g‘ my.txt
This is your cat, your cat‘s name is betty
This is your dog, your dog‘s name is frank
That is your fish, your fish‘s name is george
That is my goat, my goat‘s name is adam
  • sed -e多命令写法
#第一种

sed -e ‘command1‘ -e ‘command2‘ input-file
#第二种

sed -e		`command1`	`command2`	input-file
#第三种

sed ‘command1;command2‘ input-file

#sed and awk hack 101

sed [options] ‘{
sed-command-1
sed-command-2
}’ input-file

sed打印命令

sed ‘p’结果

技术分享图片

上述处理方式会打印文本两次

sed -n ‘p’ result

-n或--quiet或——silent:仅显示script处理后的结果

技术分享图片

打印指定范围

  • sed -n ‘num p’:只打印第num行
  • sed -n ‘num1,num2 p’:打印num1到num2行
  • sed -n ‘^,num’:打印首行至num行
  • sed -n ‘num,$ p’:打印num行至尾行
  • sed -n ‘num1,+num2 p’:打印第num1行及其后num2行
  • sed -n ‘num1~num2 p’:打印num1行,跳过num2行打印
#input-file

Lina is a good girl
Lina will be someones wife
Lina love anime
Lina will get a good job
Lina will live a happy life
Lina,see you again

打印指定行

技术分享图片

打印指定范围文本

技术分享图片

打印某行及其后几行

技术分享图片

打印奇数行

技术分享图片

打印匹配

  • sed有匹配内容行
  • sed -n ‘/pattern/p’ input-file

打印匹配字符行

技术分享图片

  • sed -n ‘/pattern/,num p’ input-file

打印第一次匹配字符至第num行,如果前面未匹配到字符则从后面找并匹配打印

打印第一次匹配字符至第num行

技术分享图片

  • sed -n ‘/pattern1/,/pattern2/p’ input-file

打印匹配pattern1到匹配pattern2行间的内容

技术分享图片

  • sed -n ‘/pattern/,+num p’ input-file

打印匹配到的pattern及其后num行

技术分享图片

SED LEARN NOTE

原文:https://www.cnblogs.com/movit/p/14457134.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!