2018-1-16 Linux学习笔记[重要]

9.4 sed(上)

sed是一种流编辑器,它是文本处理中非常有用的工具,grep只能实现查找功能,sed不仅能查找还能替换.
sed处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。

注意: sed处理时, 文件内容并没有改变,除非你使用重定向存储输出。

sed -n ‘5‘p test.txt --->打印第5行
sed -n ‘1,5‘p test.txt --->打印第1-5行
sed -n ‘1,$‘p test.txt --->打印所有行
sed -n ‘/root/‘p test.txt --->打印含有root的行
sed -n ‘/^1/‘p test.txt --->打印所有以1开头的行
sed -n ‘/in$/‘p test.txt --->打印所有以in结尾的行
sed -e ‘1‘p -e ‘/222/‘p -n test.txt --->打印第1行和包含222的行
sed -n ‘/o\+t/‘p test.txt --->打印含有o..t的行
sed -nr ‘/o+t/‘p test.txt --->打印含有o..t的行,其中r选项类似与grep的-E选项,加上能免脱意字符
sed -nr ‘/root|sshd/‘p test.txt --->打印含有root或者sshd的行

9.5 sed(下)

sed -n ‘/bus/‘Ip test.txt --->打印含有bus(大小写均匹配)的行,其中I选项表示不区分大小写
sed ‘1‘d test.txt --->删除第1行(文件本身并没改变)
sed ‘/root/‘d test.txt --->删除包含root的行(文件本身并没改变)
sed ‘1,3‘d test.txt --->删除第1-3行(文件本身并没改变)
sed -i ‘1,3‘d test.txt --->删除文件的第1-3行(加上i选项后,文件会发生改变)
sed ‘s/[0-9]//g‘ test.txt --->删除文档中的所有数字
sed ‘s/[a-zA-Z]//g‘ test.txt --->删除文档中的所有字母
sed ‘1,10s/ot/to/g‘ test.txt --->将第1-10行中的ot替换成to
sed -r ‘s/([^:]+):(.*):([^:]+)/\3:\2:\1/‘ test.txt --->将以:分割的所有行每行的行首和行尾调换
sed -r ‘s/(.*)/aaa:&/‘ test.txt --->在所有行前加上字符串aaa:

原文地址:http://blog.51cto.com/13517946/2061702

时间: 2024-11-13 08:52:51

2018-1-16 Linux学习笔记[重要]的相关文章

Linux学习笔记三:Linux的权限处理命令

1.改变文件或目录权限  chmod 语法:chmod [{ugo} {+-=} {rwx}] [文件或目录] 或 [mode] [文件或目录] 第一种语法中: 这里的u是所有者,g是指所属组,o是指其他人 +是指增加权限,-是指减少权限,=是指赋予权限 r是指读权限,w是指写权限.x只是执行权限 第二种语法中: 在这里,r的值是4,w的值是2,x的值是1. 这里写的mode,是指一组数字.如:421.这里的421,是指所有者所拥有权限的数字总和是4,所属组所拥有权限的总和是2,其他人所拥有权限

Linux学习笔记(5)-进程管理

进程简介 进程是正在执行的一个程序或命令,每一个进程都有自己的地址空间,并占有一定的系统资源.感性的认识,进程就是一个正在运行的程序 进程管理的作用 判断服务器的运行状态 查看系统中有哪些进程 杀死进程(很少用,一般会采用正常的关闭手段) 查看系统所有的进程 #ps aux #ps -le 输出信息各字段的含义 USER:进程是由哪个用户产生的 PID:进程的ID号 %CPU:进程占用CPU资源的百分比 %MEM:进程占用物理内存的百分比 VSZ:该进程占用虚拟内存的大小,单位KB RSS:该进

马哥Linux学习笔记之二——网络

1.MAC(Media Access Control,介质访问控制) 是解决底层数据通信冲突的解决方案.因此,给每一个接入这样网络的主机一个id标示符,这个id标示符就叫做MAC地址. 2.CSMA/CD(Carrier Sense Multipath Access Collision Detection,载波侦听多路访问冲突检测),线型网络 以太网Ethernet最核心的标志. 3.Token-Ring(IBM)技术 环形网络解决冲突的方案.但是由于IBM的专利限制没能推广开来. 4.星形网络

linux学习笔记(一)-文件目录相关的命令&&文件通配符

一.几个命令概述 1.查看目录以及目录底下的文件:ls(-a显示隐藏文件:-d显示目录本身:-l显示详细内容:-R递归显示,即把子目录的文件也显示出来:-h以更加被人类理解的格式显示,比如显示文件大小的时候用M为单位显示:-i显示文件索引ID) 2.查看文件内容:cat,head,tail,less,more,tac cat:将文件连接起来,输出在屏幕上,可接多个文件(-E:显示隐藏的换行符:-n:显示出行号) head:默认查看文件的前10行(-n#:查看文件的前#行.空白行也是一行) tai

Linux学习笔记四:Linux的文件搜索命令

1.文件搜索命令  which 语法:which [命令名称] 范例:$which ls  列出ls命令所在目录 [[email protected] ~]$ which ls alias ls='ls --color=auto' /bin/ls 另外一个命令:whereis [名称名称],也可以列出命令所在目录. [[email protected] ~]$ whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/ma

Linux学习笔记——例说makefile 增加系统共享库

0.前言 从学习C语言开始就慢慢开始接触makefile,查阅了很多的makefile的资料但总感觉没有真正掌握makefile,如果自己动手写一个makefile总觉得非常吃力.所以特意借助博客总结makefile的相关知识,通过例子说明makefile的具体用法. 例说makefile大致分为4个部分 1.只有单个C文件 2.含有多个C文件 3.需要包括头文件路径 4.增加宏定义 5.增加系统共享库 6.增加自定义共享库 7.一个实际的例子 [代码仓库]--makefile-example

Linux学习笔记——如何使用echo指令向文件写入内容

0.前言 本文总结如何使用echo命令向文件中写入内容,例如使用echo指令覆盖文件内容,使用echo指令向文件追加内容,使用echo指令往文件中追加制表符. echo向文件中输出内容的基本方法是使用IO重定向指令--">",默认情况下echo输出到标准输出中,使用>指令可重定向输出到文件中. 1.echo指令基本用法 [1]Linux官方用户手册--echo指令 [2]输入指令获得帮助 sudo echo --help 返回内容如下 用法:echo [短选项]... [字

linux学习笔记--vim程序编辑器

1,在linux系统中使用文本编辑器来编辑自己的linux参数配置文件是一件很重要的事情,因此系统管理员至少应该要熟悉一种文本编辑器. 2,不同的linux distribution各有不同的附加软件,linux命令行界面下的文本编辑器有Emacs,pico,nano,joe与vim 3,学习vim的重要性 (1)所有的UNIX Like系统都内置vi文本编辑器,其他的文本编辑器不一定存在 (2)很多软件的编辑接口都会主动调用vi (3)vim具有程序编辑的能力,可以主动以字体颜色辨别语法的正确

linux学习笔记-type命令

语法: type [-tpa] name 参数: type:    不加任何参数时,type会显示出name是外部命令还是内部bash内置命令 -t:      当加入-t参数时,type会将name以下面这些字眼显示出它的意义 file:表示为外部命令 alias:表示该命令为命令别名所设置的名称 builtin:表示该命令为bash内置的命令功能 -p:     如果后面接的name为外部命令时,才显示完整文件名 -a:     会有path变量定义的路径中,将所有含有name的命令都列出来

Linux学习笔记033_10

网卡命名: eth0,eth1 子接口(一个网卡上多个IP):eth0:1,eth0:2 ifconfig: 查看网卡信息 ifup ethx:开启网卡 ifdown ethx:关闭网卡 配置网卡: 图形 命令: ONBOOT为yes表示启动计算机时通过网卡 全局网络配置: 第一行为开启ipv4,第二行为开启ipv6,第三行为计算机名,注意计算机名在DNS要解析到,如clc.com 可以加一行:GATWAY=192.168.1.254,不过以network-scripts中的网关优先级高 DNS