zoukankan      html  css  js  c++  java
  • sed工具命令

     sed是非交互式的编辑器。它不会修改文件,除非使用shell来重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。

     sed编辑器逐行处理文件,并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上。sed每处理完一行就将其从缓冲区删除,然后将下一行读入,进行处理和显示,处理完输入文件的最后一行后,sed便结束运行。sed把每一行都存在临时缓冲区中,对这个副本进行编辑,所以将不会修改原文件。

     $ nl regular_express.txt | sed '2,4d'  #将regular_express的内容列出并打印行号,同时将2-5行删除

     $ nl regular_express.txt | sed '2d'  #将regular_express的内容列出并打印行号,同时将第2行删除

     $ nl regular_express.txt | sed '3,$d'  #将regular_express的内容列出并打印行号,同时删除第三行和最后一行,$定位到最后一行  

     $ sed -i '1d' regular_express.txt #在原文中删除第一行

     a表示在行后加上字符串  i表示在航前添加字符串

     $ nl regular_express.txt | sed '2a text'   #在第二行后加入test字符串

     $ nl regular_express.txt | sed '2i text'    #在第二行前添加test字符串

     $ nl regular_express.txt | sed '1a test/ntest'  #在1行后加入两行test   表示换行

     $ nl regular_express.txt | sed '2,5c No 2-5 number'  #将2-5行内容改为No 2-5 number

     sed命令中-n为安静模式选项  

     $ nl regular_express.txt | sed -n '5,7p'  #只输出5-7行

     $ nl regular_express.txt | sed '5,7p'  #输出全部 并且5-7行输出double

     sed 's/被替换字符串/新字符串/g'

     $ /sbin/ifconfig eth0 | grep 'inet'  #获取本机IP的行

     $ /sbin/ifconfig eth0 | grep 'inet' | sed 's/.inet...://g' 

     $ /sbin/ifconfig eth0 | grep 'inet' | sed 's/.{0,9}://g'  #将IP前面的部分给予删除

     $ /sbin/ifconfig eth0 | grep 'inet' | sed 's/.inet...://g' | sed 's/..:.*$//g' #将IP后面的部分删除

     $ /sbin/ifconfig eth0 | grep  'inet' | sed 's/.inet...://g' | sed 's/.{0,3}:.*$//g'   #将IP后面的部分删除

      

     

  • 相关阅读:
    几种简单排序算法
    【转】虚拟机下CentOS7开启SSH连接
    【转】SignalR来做实时Web聊天
    加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用
    C#加密解密(DES,AES,Base64,md5,SHA256,RSA,RC4)
    【C#公共帮助类】给大家分享一些加密算法 (DES、HashCode、RSA、AES等)
    对称加密与非对称加密
    PowerDesigner概念模型与物理模型相互转换及导出数据字典
    SQO2008配置管理工具服务显示远程过程调用失败
    MongoDB学习笔记-数据格式及数据类型
  • 原文地址:https://www.cnblogs.com/forerver-elf/p/4717454.html
Copyright © 2011-2022 走看看