2016-3-8 linux基础学习——sed命令

sed(Stream EDitor)行编辑器(全屏编辑器:vi)
    
    sed:显示模式空间
    默认不编辑文件,仅对模式空间中的数据做处理
    而后,处理结束后,将模式显示在屏幕上
    
    sed -n ‘AddressCommand‘ file ...
        单/双引号都可以,双引号可实现变量替换
        -n:静默模式 不再默认显示模式空间中的内容
        -i:直接修改源文件
        -e SCRIPT -e SCRIPT:可以同时执行多个脚本
        -f /PATH/TO/SED_SCRIPT/:
            sed -f path/to/script file
        -r:表示使用扩展正则表达式
    
    Address:地址
    1.起始行,结束行
        比如1,100
        $:最后一行
        $-1 :倒数第一行
    2./RegExp/利用模式匹配,需要两个斜杠包括起来
        比如/^root
    3./pattrnl/,/pattern2/
     第一次被pattrn1匹配到的行开始,到第一次被pattrn2匹配到的行结束,这中间的所有行
    4.LineNumber
        指定的行
    5.起始行,+N
        从起始行开始,向后的N行
    
    
    Command:命令
        d:删除符合条件的行
        p:显示符合条件的行
        a \string: 在指定的行后面追加新行,内容为string
        i \string: 在指定的行前面追加新行,内容为string
        r FILE:将指定的文件内容添加至符合条件的行处
        w FILE:将指定的文件内容另存至指定文件中
        s /pattern/string/修饰符:查找pattern(可用正则表达式)并替换成string
            (默认只替换每行中第一次被模式匹配到的字符串)    
            g:全局替换
            i:查找时忽略大小写
        s///:s###,[email protected]@@也可
            分隔符不仅限于/ 只要查找替换的字符不是分隔符
        &:引用模式匹配整个串

课练1:编辑一个txt文件
        ①like-liker    love-lover    
        ②like->Like    love->Love
    课练2:删除/etc/grub.conf文件中行首的空白符
    课练3:替换/etc/inittab文件中“id:5:initdefault:”一行中的数字为3
    课练4:删除某文件中的空白行
    课练5:删除某文件中开头的#号.(eg:#abc)
    课练6:删除某文件开头的#号及后面的空白字符,但要求#后面必须有空白字符.(# abc)
    课练7:删除某文件以空白字符后面跟#类的行中的开头的空白字符及#.( #abc)
    课练8:取出一个文件路径的父目录名称

时间: 2024-08-04 11:58:20

2016-3-8 linux基础学习——sed命令的相关文章

linux基础之sed命令

Sed 流 编 辑 器 1.sed的基本用法: sed  [OPTION]...  'script' input-file... 2.sed:Stream   Editor  文本编辑器 行编辑器(全屏编辑器:vi) 3.sed:模式空间 默认不编辑源文件,仅对模式空间中的数据做处理,而后,处理结束后,讲模式空间打印至屏幕 1>.常用选项: -n  : 静默模式,不再默认显示模式空间的内容: -i   : 直接修改源文件: -e  : script   -escript    可以同时执行多个脚

Linux Shell学习-sed命令详解

(1).sed介绍 Sed是流编辑器,stream editor,它是一个将一些列编辑命令作用于一批文本文件的理想工具. (2).sed工作原理 Sed是一个非交互式文本编辑器,它可以对文本文件和标准输入进行编辑,标准输入可以是来自键盘输入.文件重定向.字符串.变量,甚至来自管道的文本. Sed从文本的一个文本行或标准输入中读取数据,将其复制到缓冲区,然后读取命令行或脚本的第一个命令,对此命令要求的行号进行编辑,重复此过程,直到命令行或脚本中的所有命令都执行完毕. 相对于诸如vi等其他文本编辑器

2016-3-29 linux基础学习——find命令

find  [查找位置]  [查找标准]  [处理动作]    查找路径:默认当前目录    查找标准:默认为指定路径下的所有文件    处理运作:默认为显示        匹配标准:        -name 'FILENAME' :对文件名            文件名通配:            *:任意长度的任意字符            ?            []        -iname 'FILENAME':文件名匹配时不区分大小写        -regex PATTERN

Linux基础学习-网络命令

1.write 给在线用户发信息 write 用户名内容ctrl+d保存结束 2.wall(write all)给所有在线用户发信息 wall 信息ctrl+d保存结束 3.mail发邮件 mail 用户名标题内容ctrl+d保存结束 直接敲mail可以查看是否有邮件1 查看第一个邮件h 返回邮件列表d 1 删除第一个邮件q 退出 4.last 查看每个用户的登陆信息 lastlog 查看最后一次登陆信息 lastlog -u 500 查看500这个用户最后一次登陆信息 5.traceroute

c/c++unix/linux基础学习笔记-常用命令和vi的使用

linux 基本命令的使用-命令在ubuntu下面执行,有些命令通用其他linux,有些不通用. 多条命令间用;号隔开,回车后可以一起执行. clear-前屏,pwd显示当前目录,cd跳转目录. sudo [命令]  -ubuntu 下以管理员身份运行命令. 一般情况下,运行当前目录下的程序,要用 ./文件名 执行. 查看当前shell名称:ps 进入另外一个shell,直接输入shell名称:ksh/tcsh/sh/bash,退出一个shell用:exit. 切换shell命令,如:exec

linux基础学习笔记——操作大全

作者:liaoyi 更新时间:2014-6-2 ****************基本操作***************** 关机 shutdown -h now    root用户               init 0              root用户halt      root+一般用户poweroff 重启shutdown -r now    root用户init6     root用户reboot            root+一般用户 注意:1.shutdown 比较灵活,可

Linux基础知识——shell命令类型及命令使用帮助

加入马帮有一段时间了,看到群里面大总管要检查博客,才意识到,原来我还没有写过作业.俗话说的好,时间是把杀猪刀!!!咳咳,其实想说,马哥视频忒长,内容贼多,对于文笔不好我来说,写作业压力山大啊,有木有.嗯.嗯,长话短说,进入正题. 两个星期过去,课程进度有点掉队,这篇博文主要记录基础命令课程知识,用于梳理知识点并加深印象,为今后行走linux之路打下坚实基础的好开端,完成该博文并回顾相关知识点后,期望加快学习步伐,稳扎稳打,跟上进度,good good study,day day up! 1.  

【Linux基础】常用命令大全

Linux基础之常用命令大全 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /

Linux基础学习-crond系统计划任务

系统计划任务 大部分系统管理工作都是通过定期自动执行某个脚本来完成的,那么如何定期执行某个脚本,从而实现运维的自动化,这就要借助Linux的cron功能了. 计划任务分为一次性计划任务和周期性计划任务. 一次性计划任务 每晚11店30分开启网站服务. 周期性计划任务 每周一的凌晨3点30分把/var/www/html目录打包备份为backup.tar.gz 顾名思义,一次性计划任务只执行一次,一般用于满足临时的工作需求,可以使用at命令实现. 如果你的Linux没有此命令可以使用yum inst