【linux 常用工具总结】sed 工具使用总结

在日常工作中,我们往往会在使用Unix/Linux系统时遇到一些处理复杂文本的情况, 这些文本直接处理可能会比较麻烦,往往会花费我们很多时间,给我们的工作带来一定的困扰。事实上,Unix/linux系统提供了一些强大高效的文本处理工具来帮助我们进行复杂文本的处理, 掌握这些工具的使用可以事半功倍。

本文主要对linux三剑客(sed, awk, grep)之一的sed工具进行介绍,并对该工具的使用进行简单的说明。

1.1  sed工具使用总结

sed, 全称 stream editor, 是一种非交互式的流向编辑器,该工具主要是通过脚本来处理文本的,可以通过脚本中的指令来自动处理、编辑一个或者多个文件,简化对文本的反复操作,具有强大的文本处理能力。另外,sed可以配合正则表达式进行使用, 大大增加了该工具的可用性。

1.1.1 工作原理

sed命令处理文本是按行进行处理的,每次处理时将当前行读入并存储到临时缓冲区中,该缓冲区被称为“模式空间”,然后sed命令会根据参数指定的操作对缓冲区中的内容进行处理,完成之后再送往终端显示,接着处理下一行, 不断重复直到文件结束。sed本质上一个管道命令,可以对标准输入进行分析,编辑,替换,删除等操作。

在使用sed时,需要先确定需要进行编辑的文本行,即定址,地址的形式可以是数字、正则表达式或者二者的结合,如果没有指定处理的地址,sed默认处理输入文件的所有行。

1.1.2 常用语法

sed [-hnV][-e<script>][-f<script文件>][文本文件]

1.1.3 常用参数说明

(1)-V或--version 显示版本信息;

(2)-e<script>或--expression=<script> 以选项中指定的script来处理输入的文本文件;

(3)   -h或 -help 用于显示帮助信息;

(4)   -n、–quiet、–silent:只输出明确处理过的内容;

(5)  -i 修改文件内容;

(6) -r 不需要转义, 即支持扩展型正则表达式;

(7)  -f :直接将sed的动作写在一个文件内,-f filename 则可以执行file内的sed动作;

1.1.4 常用动作说明

a\:新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行);

c\:取代, c 的后面可以接字串,多行时除最后一行外,每行末尾需用"\"续行;

i\ :在当前行之前插入文本。多行时除最后一行外,每行末尾需用"\"续行,注意与a\的区别;

d: 删除指定的行;

p :打印,也就是将某个选择的数据打印出来,通常参数-p与参数-n搭配使用;

s:   替换,直接使用一个字符串替换另一个字符串

= :打印当前行号; # 把注释扩展到下一个换行符以前

2. sed 使用实例

具体使用实例可以参考以下相关资料,这里不做详细展开,后续使用时查阅即可:

https://blog.csdn.net/hdyebd/article/details/83617292

https://www.runoob.com/linux/linux-comm-sed.html

https://www.cnblogs.com/ftl1012/p/sed.html

原文地址:https://www.cnblogs.com/chenwx-jay/p/linux_sed.html

时间: 2024-10-08 07:19:38

【linux 常用工具总结】sed 工具使用总结的相关文章

[转]Linux常用性能调优工具索引

From:http://www.frostsky.com/2013/03/linux-performance-analysis-tool?wpmp_switcher=desktop 前段时间看到brendangregg的 Linux Performance Analysis and Tools PPT里面提到Linux常用性能调优工具, 见下图: 其中提到了的工具,大部分在我日常工具箱里或者在实践的案例里面使用过, 都有很高的价值,这里方便大家索引下: nicstat: 参见 这里 oprofi

转载 linux常用的监控命令工具

工具 简单介绍top 查看进程活动状态以及一些系统状况vmstat 查看系统状态.硬件和系统信息等iostat 查看CPU 负载,硬盘状况sar 综合工具,查看系统状况mpstat 查看多处理器状况netstat 查看网络状况iptraf 实时网络状况监测tcpdump 抓取网络数据包,详细分析starce 跟踪关键进程定位程序tcptrace 数据包分析工具netperf 网络带宽工具dstat 综合工具,综合了 vmstat, iostat, ifstat, netstat 等多个信息

Linux常用命令之sed(2)

Sed SED的英文全称是 Stream EDitor,它是一个简单而强大的文本解析转换工具,在1973-1974年期间由贝尔实验室的Lee E. McMahon开发,今天,它已经运行在所有的主流操作系统上了. McMahon创建了一个通用的行编辑器,最终变成为了SED.SED的很多语法和特性都借鉴了ed编辑器.设计之初,它就已经支持正则表达式,SED可以从文件中接受类似于管道的输入,也可以接受来自标准输入流的输入. SED由自由软件基金组织(FSF)开发和维护并且随着GNU/Linux进行分发

Linux常用命令:sed

本文记录的是自己在学习<Linux私房菜>中正则表达式的笔记. 关于行尾符$ 如果文件本身没有内容,比如使用touch新建的文件,那么$将会没有意义.例如下面操作: 先使用touch新建了一个test.txt文件,然后尝试使用sed命令去在行尾增加内容,但是没有成功(紧接着的cat命令没有输出任何东西),然后我使用vim给test.txt手动增加了一行内容“add by vim”,然后再使用同样的sed命令就成功了,如后续cat命令输出结果. 命令sed sed是一个十分有用的管道命令,功能很

Linux常用命令之sed

标题:sed命令的使用 作用:sed是以行为单位处理文本数据,可以对数据按行进行选取(显示).替换.删除和新增等功能. 一.用法 sed [-nefr] [动作] 参数: -n:使用安静模式,取消自动打印模式空间.在一般来自STDIN的数据一般都会被列出到屏幕上,但如果加上-n参数后,则只有经过sed处理的那一行才会被列出来.       -e:直接在命令行模式上进行sed的动作编辑.       -f:直接将sed动作写到一个文件内,-f filename可以执行filename内的sed动作

linux常用进程管理工具及查看

linux进程查看及管理工具 我们常用的进程管理工具有: pstree, ps, pidof, pgrep, top, htop, glance,dstat linux系统各进程的相关信息都保存于/proc/PID目录下的各文件中: [[email protected] ~]# cd /proc/ [[email protected] proc]# ls 1     1454  1781  23   272  31    6066    buddyinfo    kcore         sc

最常用的20个监控Linux系统性能的命令行工具

2015-12-27 iOS开发 对于每个系统管理员或网络管理员来说,每天要监控和调试 Linux 系统性能问题都是非常困难的工作.我已经有5年 Linux 管理员的工作经历,知道如何监控系统使其保持正常运行. 为此,我们编写了对于 Linux/Unix 系统管理员非常有用的并且最常用的20个命令行系统监视工具.这些命令可以在所有版本的 Linux 下使用去监控和查找系统性能的实际原因.这些监控命令足够你选择适合你的监控场景. 1.top — Linux 系统进程监控 top 命令是性能监控程序

Linux系统上的文本处理工具之sed

sed命令 sed是一种在线编辑器.行编辑器,一次处理一行内容,在处理时,把当前处理的行存储在临时缓冲区当中,该缓冲区称为"模式空间"(pattern space),接着用sed命令处理缓冲区中的内容,处理完毕后,把缓冲区的内容送到标准输出:然后紧接着去处理下一行,重复完成相同的操作,直至文件结尾:sed处理的整个过程中,对象文件中的内容并没有改变,除非使用重定向来存储处理后的结果.sed主要用来自动编辑一个或多个文件,简化对文件的反复操作过程. sed跟我们之前讲过的文本处理工具vi

Linux常用网络工具:路由扫描之mtr

除了上一篇<Linux常用网络工具:路由扫描之traceroute>介绍的traceroute之外,一般Linux还内置了另一个常用的路由扫描工具mtr. mtr在某些方面比traceroute更好用,它可以实时显示经过的每一跳路由的信息,并不断进行探测. traceroute默认使用UDP数据包探测,而mtr默认使用ICMP报文探测,ICMP在某些路由节点的优先级要比其他数据包低,所以测试得到的数据可能低于实际情况. mtr mtr使用比较简单,通常不需要使用附加选项,更多参数可以参考mtr