Linux sed命令使用方法

原创 sauren  2019-08-14 10:13  阅读 151 views 次 评论 0 条

Linux sed 命令是利用脚本来处理文本文件。

sed 可依照脚本的指令来处理、编辑文本文件。

Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。

参数
  • -e<script>或--expression=<script> 以选项中指定的script来处理输入的文本文件。
  • -f<script文件>或--file=<script文件> 以选项中指定的script文件来处理输入的文本文件。
  • -h或--help 显示帮助。
  • -n或--quiet或--silent 仅显示script处理后的结果。
  • -V或--version 显示版本信息。
动作说明
  • a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
  • c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
  • d :删除,因为是删除,所以 d 后面通常不接任何参数;
  • i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
  • p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
  • s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!

 

用例
sed -e 4a\newLine testfile 在testfile文件的第四行后添加一行,并将结果输出到标准输出(不会真正的修改文件) 
sed -n '2p' testfile 打印出testfile第二行内容 
sed -n '1,3p' testfile 打印出testfile第1-3行内容 
sed -n "/cc/p" testfile 打印出testifle含有cc关键词的行,注意//之间内容为匹配的关键词,p是print命令 
sed -n "/cc/,/cctg/p" testfile 打印出关键词cc和cctg之间的行,包含了关键词的两行。 
sed -i "s/cc/hello/g" 1.txt 将1.txt内的cc关键词全部替换为hello。s是取代,g是全部。 
nl 1.txt | sed -n '$p' 显示1.txt最后一行,并显示行号 
sed -i -e '1i happy' -e '$a new year' 1.txt 在1.txt第一行添加happy行,在最后一行添加new year行 
sed '1,4i hahaha' 1.txt 在1.txt第一到四行,每行下都添加hahaha

 

本文地址:/archives/286.html
版权声明:本文为原创文章,版权归 sauren 所有,欢迎分享本文,转载请保留出处!
高性能云服务器特惠

发表评论


表情