Linux下sed命令使用全解析

作者&投稿:广柔 (若有异议请与网页底部的电邮联系)
~ 一、Sed简介
Sed:Stream Editor 流式编辑器 又称行编辑器,每次只编辑一行。Sed工作是在“模式空间”中进行的,并不操作源文件。对源文件无危害。
二、Sed使用格式
Sed命令的常用格式如下:
(1)Sed [options] ‘script’ input_file…
(2)Sed [options] –f script_file input_file…
(3)Sed [options] ‘ADDR1,ADDR2command’ input_file…
例如:#sed ’1,2d’ fstab 就可以将fstab的前两行删除并显示出来,但是它不会改变源文件。
#Sed ‘1,2!d’ fstab 表示删除除第一行和第二行之外的所有行。
(4)Sed [options] ‘/PATTERN/command’ input_file……
:s/l..e/er/:表示引用前面匹配到的所有字符。
例如:sed ‘/[[:upper:]]/d’ binary.sh 表示删除所有的大写字母的行。
(5)Sed ‘/PATTERN1/,/PATTERN2/command’ input_file……
说明:这表示从第一次被PATTERN1匹配到的行到第一次被PATTERN2匹配到的中间的所有行执行command命令。
三、Sed的常用选项:
-n:只显示sed匹配到的行。其余行不显示。下文有范例。
-i :可以直接操作原文件。默认情况下sed不会改变原文件,但是-i选项可以修改原文件,此选项应慎用。
-r:可以使用标准正则表达式。默认情况下sed只支持基本正则表达式,但是加上-r选项后则支持扩展正则表达式
-e:多脚本共用。可以同时执行多个命令。例如:
代码如下:
[root@localhost ~]# sed -e 's@@H1@g' -e 's@(l..e).@1r.@g' test
He love His lover.
She like Her liker.
Dove love Her liker.
也可以这样用,中间用分号隔开:
代码如下:
[root@localhost ~]# sed 's@@H1@g;s@(l..e).@1r.@g' test
四、使用示例
代码如下:
#sed -e 命令行处理 -a 新增
sed -e '$ a widuu' test.txt #在test.txt的结尾处添加widuu
代码如下:
# 把-e换成-n
sed -n '$ a widuu' test.txt # 只显示被处理的一行
代码如下:
# -c 替换多少行 为你制定的字符串,这里我的test.txt内容如图
sed -e '2,5c xiaowei' test.txt #把2-5行替换成字符串xiaowei
代码如下:
# 多命令执行 -e
sed -e '2,5c xiaowei' -e 's/cccc/widuu/' test.txt

代码如下:
# -i 不输出 -s 替换
sed -i 's/111111/widuu/g' test.txt
代码如下:
# i 插入 自定义的字符串 在test.txt的第二行插入xiaowei
sed -e '2i xiaowei' test.txt

代码如下:
# d 删除输入任何字符串
sed -e '2d' test.txt #删除第二行


linux命令 sed 请问有哪位大大知道这个sed 命令是什么意思吗? sed...
sed 编辑器是 Linux 系统管理员的工具包中最有用的资产之一, 因此,有必要彻底地了解其应用 Linux 操作系统最大的一个好处是它带有各种各样的实用工具。存在如此之多不同的实用工具,几乎不可能知道并了解所有这些工具。可以简化关键情况下操作的一个实用 工具是 sed。它是任何管理员的工具包中最强大的工具之一,并...

Linux中文本处理命令sed的使用示例分享
例a,这个例子,把test文件中的root替换成tankzhang,只不过只替换一次及终止在这一行的操作,转到下一行代码如下:[zhangy@BlackGhost mytest]# sed 's\/root\/tankzhang\/' test |grep tanktankzhang:x:0:0:root:\/root:\/bin\/bash例b,这个例子,用tankzhang把文件test中的root全部替换掉,请注意g这个字母,global的...

Linux中的sed是什么意思呢,简单解释一下啊
Sed是一项Linux指令,全称是Stream EDitor,功能同awk类似,差别在于,sed简单,对列处理的功能要差一些,awk的功能复杂,对列处理的功能比较强大。Sed主要用于自动编辑一个或者多个文件,多用于脚本中对文件的处理。Sed命令可以对文件进行增加、删除、修改和查找操作,所以学好sed命令是写自动化脚本必须的基础...

linux里面的sed命令怎么用,做什么的?请详细说明
sed 是 Linux 和 UNIX 工具箱中最有用的工具之一,且使用的参数非常少。 sed 的工作方式 sed 实用工具按顺序逐行将文件读入到内存中。然后,它执行为该行指定的所有操作,并在完成请求的修改之后将该行放回到内存中,以将其转储至终端。完成了这一行 上的所有操作之后,它读取文件的下一行,然后重复该过程直到它...

Linux使用sed命令添加字符串方法教程
通常在Linux中添加字符串可以用命令实现,有很多种方式,有一种就是在文本的首尾行添加字符串。那么具体怎么使用呢?本文就来介绍一下Linux使用sed命令添加字符串的方法。用sed命令在行首或行尾添加字符的命令有以下几种:假设处理的文本为test.file 在每行的头添加字符,比如“HEAD”,命令如下...

linux中is命令linux中-i
sed-i‘s\/^@\/\/’file 特定字符串的行前插入新行 sed-i‘\/特定字符串\/i新行字符串’file 特定字符串的行后插入新行 sed-i‘\/特定字符串\/a新行字符串’file 特定字符串的删除 sed-i‘\/字符串\/d’file linuxsed命令sed-is\/I\/O\/g这条命令又没有办法实现直接读取当前的I变?用双引号代替单...

Linux里面sed -e命令作用是什么?
sed -e是可以在同一行内执行多条命令,而不加-e则不可以

linux sed 替换
Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处理、编辑文本文件。Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。 语法 参数说明:regular_express.txt 文件内容如下:利用 sed 将 regular_express.txt 内每一行结尾若为 . 则换成 !:q:q 利用 ...

linux常用命令
Linux常用命令包括ls、cd、wc等。1、ls Linux常用命令中,ls用于列出当前路径下的文件与文件夹,ls 指令是Linux下最常用的命令之一,也是一条非常古老的命令,它最早可追述到Unix系统,甚至更古老的Multics下相同的命令。ls命令将每个由Directory参数指定的目录或者每个由File参数指定的名称写到标准输出,...

Linux系统中sed命令在文件某行前后添加内容的用法
linux的sed工具是十分强大的,能很容易的实现在某关键词的前一行或后一行增加内容。今天在批量修改tomcat的日志时就用到了该功能。一、在某行的前一行或后一行添加内容 具休操作如下:代码如下:匹配行前加 sed -i '\/toxingwang.com\/iwww.toxingwang.com' the.conf.file 匹配行前后 sed -i '\/...

虎林市15855608848: linux里面的sed命令怎么用,做什么的?请详细说明 -
裘樊复方: sed 编辑器是 Linux 系统管理员的工具包中最有用的资产之一 Linux 操作系统最大的一个好处是它带有各种各样的实用工具.存在如此之多不同的实用工具,几乎不可能知道并了解所有这些工具.可以简化关键情况下操作的一个实用 工具是 sed...

虎林市15855608848: linux 的sed命令解释 sed ':t;N;s/\n/,/;b t' 将换行符换成逗号
裘樊复方: :t 定义label "t" b t 转到label "t" 继续执行 N 先读入一行到sed的模板空间,加个换行符(\n),再向sed模板空间追加下一行(之后sed 对模板空间中的内容执行s/\n/,/替换,并显示替换后的内容)

虎林市15855608848: 关于LINUX的SED:帮忙详细解释下面命令中符号的含义.sed 's/\.gds[.]*关于LINUX的SED:帮忙详细解释下面命令中符号的含义.sed 's/\.gds[.]*//g -
裘樊复方:[答案] s:替换 \.gds[.]*:以.开头,之后是gds, [.]* 这个写的比较奇怪,感觉是若干个.(0-n) //:中间什么都没有,相当于用空字符串替换,即将前面那个“\.gds[.]*”模式匹配的内容删除 g:如果一行中有多个匹配,都替换

虎林市15855608848: linux中sed命令如何运用'\ ' 反斜杠 -
裘樊复方: 路径"../syslog/tmp/"替换为"/data/syslog/tmp”首先要搞清楚,转义符\的作用是消除有特殊含义字符的特殊意义,使其还原为普通字符. sed -i 's/\.\.\/syslog\/tmp\//\/data\/syslog\/tmp/' file.ini 点号.在正则表达式中有其特殊含义(表示任意一个字...

虎林市15855608848: linux下的sed命令使用? -
裘樊复方: sed 默认输出结果,不修改文件.而且这里的输入是管道.这样做:cat a.conf |grep '/'|sed 's/oracle/orcl/g' > tmp.conf mv tmp.conf a.conf

虎林市15855608848: 关于linux 里sed的用法与正则表达式? -
裘樊复方: 题主你好,这道题的关键点在于: " [a]* 表示匹配0个或多个a "" 多个a "好理解,但" 0个a "可能就是你不理解的地方,说白了" 0个a "匹配的是位置而并不是某个字符, " 0个a "故名思议嘛: " 没有a的地方 "------------------- 下来咱看...

虎林市15855608848: sed 使用方法 -
裘樊复方: 在shell中输入下面的命令,输出是什么 echo s/\^/,/g 输出是 s/^/,/g ,在shell中反斜杠本身就有转义的作用,因此不加双引号实际执行的命令是 sed "/^/,/g" file > file1 即在文本开头添加一个逗号 加上双引号\^在传给sed之前才不会被转义成^

虎林市15855608848: Linux shell正则表达式的问题关于sed命令中使用正则表达式,我有以下一些疑问.这里有两个例子.$ echo this is an example | sed 's/\w\+/[&]/g'[this] [is] [an] [... -
裘樊复方:[答案] \w+的意思是数字和字母的字串 而你后一个用的是[a-z]+小写字母的字串 其实上面那个\w ,你也可以写成[a-zA-Z0-9_]+ 效果是一样的

虎林市15855608848: Linux中sed命令同awk命令有什么区别呢,具体该如何使用呢? -
裘樊复方: sed 多用来编辑修改 awk 多用来打印 sed grep awk 俗称三剑客 使用上sed 和 awk扩展下来,内容可多了,甚至awk可以被当作一种脚本工具,单独出书,sed简单的用法增删改查都是可以直接百度到的,awk的打印也是.例如 sed中 s 替换 sed ...

虎林市15855608848: linux命令sed与awk是干什么用的,怎么用? -
裘樊复方: 非常强大的文本操纵工具,sed,awk,grep 这个三个命令 都是操作文本文件的 unix系统有几个非常命令的特点: 1. 对于内核而言,unix文件都是字节序列.io设备也是文件. 2. 至于文件的含义交由应用程序来解释.其中文本文件非常重要,因为...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网