Linux命令学习-sed

sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法
sed命令行格式为:
         sed
[-nefri] ‘command’
输入文本

常用选项:
        -n∶使用安静(silent)模式。在一般
sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed
特殊处理的那一行(或者动作)才会被列出来。
       
-e∶直接在指令列模式上进行 sed 的动作编辑;
        -f∶直接将
sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed
动作;
        -r∶sed
的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法)
       
-i∶直接修改读取的档案内容,而不是由萤幕输出。

常用命令:
        a  
∶新增, a
的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
       
c   ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2
之间的行!
        d   ∶删除,因为是删除啊,所以
d 后面通常不接任何咚咚;
         i  
∶插入, i
的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
        
p  ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n
一起运作~
        
s  ∶取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g
就是啦!

举例:(假设我们有一文件名为ab)
     删除某行
     [[email protected]
ruby] # sed ‘1d‘
ab             
#删除第一行 
    
[[email protected] ruby] # sed ‘$d‘
ab              #删除最后一行
     [[email protected] ruby] #
sed ‘1,2d‘
ab           #删除第一行到第二行
     [[email protected]
ruby] # sed ‘2,$d‘
ab         
 #删除第二行到最后一行

  显示某行
.   
[[email protected] ruby] # sed -n ‘1p‘
ab           #显示第一行 
     [[email protected] ruby] #
sed -n ‘$p‘
ab          
#显示最后一行
    
[[email protected] ruby] # sed -n ‘1,2p‘
ab        #显示第一行到第二行
     [[email protected] ruby] #
sed -n ‘2,$p‘
ab        #显示第二行到最后一行

  使用模式进行查询
    
[[email protected] ruby] # sed -n
‘/ruby/p‘ ab    #查询包括关键字ruby所在所有行
    
[[email protected] ruby] # sed -n ‘/\$/p‘
ab       
#查询包括关键字$所在所有行,使用反斜线\屏蔽特殊含义

替换一行中的某部分
  格式:sed ‘s/要替换的字符串/新的字符串/g‘
   sed
‘s/ruby/bird/g‘   
#替换ruby为bird

插入
     [[email protected]
ruby] # sed -i ‘$a bye‘
ab         #在文件ab中最后一行直接输入"bye"
    
[[email protected] ruby]# cat ab
    
Hello!
     ruby is me,welcome to my
blog.
    
end
    
bye

时间: 2024-10-11 06:37:43

Linux命令学习-sed的相关文章

每日linux命令学习-sed

Linux的文本处理实用工具主要由sed和awk命令,二者虽然略有差异,但都使用正则表达式,默认使用标准I/O,并且使用管道命令可以将前一个命令的输出作为下一个命令的输入.笔者将在本节学习sed命令. sed命令 sed命令是以行为单位的非交互式编辑器,从通过标准输入或文件获得要处理的输入文本,对指定的行进行逐行处理,然后将结果输出传送到标准输出或文件.sed命令也可以在vi(m)编辑器中使用.sed决定对指定地址范围内的哪些输入行进行处理,此时可在地址范围内使用行号或正则表达式模式.例如,5d

每日linux命令学习-引用符号(反斜杠\,单引号'',双引号"")

引用符号在解析器中保护特殊元字符和参数扩展,其使用方法有3种:反斜杠(\),单引号(''),双引号(""). 单引号和双引号必须匹配使用,均可在解析器中保护特殊元字符和通配符,但是单引号(硬转义)主要用于信息的原样输出,防止任何变量的扩展,双引号(软转义)允许变量扩展.转义符和命令替换.单引号保护双引号,双引号保护单引号. 1. 反斜杠 反斜杠通过解析器将1个字符转化为引用符号或转义. 1)在单引号内使用反斜杠,反斜杠不会被解析,保持原样输出. 2)在双引号内使用反斜杠,主要用于美元符

Linux命令学习笔记目录

Linux命令学习笔记目录 最近正在使用,linux,顺便将用到的命令整理了一下. 一. 文件目录操作命令: 0.linux命令学习笔记(0):man 命令 1.linux命令学习笔记(1):ls命令 2.linux命令学习笔记(2):cd命令 3.linux命令学习笔记(3):pwd命令 4.linux命令学习笔记(4):mkdir命令 5.linux命令学习笔记(5):rm 命令 6.linux命令学习笔记(6):rmdir 命令 7.linux命令学习笔记(7):mv命令 8.linux命

Linux命令学习之—每天发一个命令—mkdir

Linux命令学习之-每天发一个命令-mkdir mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录. 1.命令格式: mkdir [选项] 目录... 2.命令功能: 通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录.要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限.并且,所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件名重名,即同一个目录下不能

Linux命令学习Day1

一直想学习Linux命令行,但是总是没有坚持.[Linux命令学习]系列博客将会记录我学习命令行的点点滴滴. 今天自己学习的4个命令: uname -- 查看系统信息 find -- 查找命令 dos2unix – Dos文件转换成Unix文件 cat -- 显示命令 下面简要描述下这几个命令. uname常用的几个选项: -a(打印所有信息) -s(内核名字) -r(内核版本) find功能强大,常用的语法格式: 路径 -- 在find命令后开始搜索的路径,若未指定则默认从当前路径开始搜索 -

linux命令学习-首篇

在home目录的.bashrc 添加了如下逻辑,目的是可以"每日"学习或复习linux命令 # 学习linux命令 # echo "Did you know that:"; whatis $(ls /bin | shuf -n 1) cowsay -f $(ls /usr/share/cowsay/cows | shuf -n 1 | cut -d. -f1) $(whatis $(ls /bin) 2>/dev/null | shuf -n 1) 效果图:

Linux命令学习总结: file命令

http://www.cnblogs.com/kerrycode/p/3806618.html Linux命令学习总结: file命令 命令简介: 该命令用来识别文件类型,也可用来辨别一些文件的编码格式.它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型的. 执行权限 :All User 指令所在路径:/usr/bin/file 命令语法: file [ -bchikLnNprsvz ] [ -f namefile ] [ -F separator ] [

Linux命令学习总结:rm命令

命令简介: 该命令用来删除Linux系统中的文件或目录.通常情况下rm不会删除目录,你必须通过指定参数-r或-R来删除目录.另外rm通常可以将该文件或目录恢复(注意,rm删除文件其实只是将指向数据块的索引点(information nodes)释放,只要不被覆盖,数据其实还在硬盘上.如果想要保证文件的内容无法复原,可以使用命令shred . 另外一般还是要慎用rm -rf *这样的命令. 执行权限 :All User 指令所在路径:/bin/rm 命令语法: rm [OPTION]... FIL

Linux命令学习总结:reboot命令

命令简介: 该命令用来重启Linux系统.相当于Windows系统中的restart命令. 命令语法: /sbin/reboot [-n] [-w] [-d] [-f] [-i] 或 reboot [-n] [-w] [-d] [-f] [-i] 命令参数: 参数 长参数 描叙 -d 重新启动时不把数据写入记录文件/var/tmp/wtmp -f 强制重新开机,不调用shutdown指令的功能. -h 在系统关机或poweroff之前,将所有的硬盘处于待机模式 -i 关闭网络设置之后再重新启动系

Linux命令学习总结——file

命令简介: 该命令用来识别文件类型,也可用来辨别一些文件的编码格式.它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型的. 执行权限 :All User 指令所在路径:/usr/bin/file 命令语法: file [ -bchikLnNprsvz ] [ -f namefile ] [ -F separator ] [ -m magicfiles ] file ... 命令参数: 下表列出了部分常用的参数. 参数 长参数 描叙 -b 列出文件辨识结果时,