linux之sed用法汇总

合集下载

Linux命令高级技巧使用sed进行模式匹配和替换

Linux命令高级技巧使用sed进行模式匹配和替换

Linux命令高级技巧使用sed进行模式匹配和替换Linux命令高级技巧:使用sed进行模式匹配和替换sed(stream editor)是Linux操作系统中一款十分强大的流式编辑器。

它可以实现对文本进行各种操作,包括模式匹配和替换。

本文将介绍sed命令的使用方法,帮助读者学习如何利用sed进行高级的模式匹配和替换。

一、基本概述sed命令的基本用法是:sed 's/模式/替换内容/g' 文件名其中,s表示substitute(替换),/模式/表示要查找的内容模式,替换内容表示要替换为的内容,g表示全局替换。

二、模式匹配1. 正则表达式在sed命令中,可以使用正则表达式作为模式进行匹配。

例如,要匹配包含单词"apple"的行,可以使用以下命令:sed '/apple/p' 文件名其中,/apple/表示要匹配的模式,p表示打印匹配的行。

2. 匹配多个模式sed命令还支持同时匹配多个模式,并对匹配到的行进行不同的处理。

例如,要匹配包含单词"apple"和"banana"的行,并将其替换为"fruit",可以使用以下命令:sed '/apple/s/apple/banana/g' 文件名其中,/apple/表示第一个模式,s表示替换,apple表示要替换的内容,banana表示替换为的内容,g表示全局替换。

3. 匹配行号sed命令还支持根据行号进行模式匹配。

例如,要匹配第3行,并将其替换为"hello",可以使用以下命令:sed '3s/.*/hello/' 文件名其中,3s表示匹配第3行,.*表示匹配任意字符,hello表示替换为的内容。

三、模式匹配与替换1. 模式匹配后替换sed命令还可以通过模式匹配的结果来进行具体的替换操作。

例如,要将包含单词"apple"的行替换为"banana",可以使用以下命令:sed -n '/apple/{s/apple/banana/g;p}' 文件名其中,/apple/表示匹配的模式,s/apple/banana/g表示替换操作,p表示打印替换后的结果。

Linux命令高级技巧使用sed命令进行复杂文本处理与转换的高级用法

Linux命令高级技巧使用sed命令进行复杂文本处理与转换的高级用法

Linux命令高级技巧使用sed命令进行复杂文本处理与转换的高级用法sed(Stream Editor)是一种功能强大的文本处理工具,常用于从输入文件中选择部分文本进行操作、转换和替换等操作。

在Linux系统中,sed命令被广泛应用于文本处理,特别是在自动化脚本中。

本文将重点介绍sed命令的高级用法,帮助读者更好地利用sed命令进行复杂文本处理与转换。

1. 删除文本中的指定行在处理文本文件时,有时我们需要删除其中的某些行。

sed命令可以很方便地实现这一功能。

以下是一个示例,将演示如何使用sed命令删除文本文件中的第10行:```sed '10d' filename```2. 删除文本中的行范围除了删除单个指定行外,sed命令还可以删除指定范围内的行。

以下是一个示例,演示如何使用sed命令删除文本文件中第5行到第10行之间的内容:```sed '5,10d' filename```3. 替换文本中的指定内容在文本处理中,替换指定内容是一个常见需求。

sed命令可以非常方便地实现这一功能。

以下是一个示例,演示如何使用sed命令将文本文件中所有的"apple"替换为"orange":```sed 's/apple/orange/g' filename```4. 在指定行前或后插入文本除了删除和替换内容外,有时我们需要在文本中的特定行前或后插入新的内容。

以下是一个示例,演示如何使用sed命令在文本文件的第10行后插入一行文字:```sed '10a\This is a new line.' filename```类似地,如果要在指定行前插入内容,可以使用如下命令:```sed '10i\This is a new line.' filename```5. 多个操作组合使用上述的sed命令示例只展示了单个操作的用法。

linux中sed用法

linux中sed用法

linux中sed用法
sed是一种流编辑器,常用于文本替换、删除、插入等操作。

以下是linux中sed的常用用法:
1. 替换字符串
sed 's/old/new/g' file
将file中所有出现的old字符串替换为new字符串。

2. 删除行
sed '/pattern/d' file
删除file中所有包含pattern的行。

3. 插入行
sed '/pattern/i
ew line' file
在file中所有包含pattern的行前插入新行。

4. 追加行
sed '/pattern/a
ew line' file
在file中所有包含pattern的行后追加新行。

5. 替换行
sed 'N;s/old/new/' file
将file中每两行的old字符串替换为new字符串。

6. 删除空白行
sed '/^$/d' file
删除file中所有空白行。

7. 按行号替换
sed '2s/old/new/' file
将file中第2行的old字符串替换为new字符串。

以上是sed常用的几种用法,可以帮助我们更方便、高效地处理文本文件。

Linux命令进阶使用sed进行正则表达式匹配与替换

Linux命令进阶使用sed进行正则表达式匹配与替换

Linux命令进阶使用sed进行正则表达式匹配与替换sed(Stream Editor)是Unix/Linux系统中一种常用的命令行文本编辑工具,它可以在对数据进行流式处理时,根据用户指定的规则进行字符串匹配与替换。

sed支持正则表达式,使得在处理文本时,更加灵活高效。

本文将介绍如何使用sed进行正则表达式匹配与替换,以及一些常见的用法和实例。

一、sed命令概述sed命令是Linux系统中的一个强大的文本处理工具,常用于从文件或者标准输入流中读取数据,并按照指定的规则进行处理。

它的基本语法为:```sed [options] 'command' file(s)```其中,options是可选的参数,command是sed的操作命令,file(s)表示要处理的文件。

sed命令可以直接在命令行中使用,也可以将命令写入一个脚本文件中进行批量处理。

二、sed命令选项sed命令有许多选项,下面介绍一些常用的选项:1. -n:只打印经过sed命令处理后的结果,不输出其他内容。

2. -i:直接修改原文件,而不是打印结果到标准输出。

3. -e:指定多个命令,用分号分隔。

4. -r:启用扩展正则表达式。

5. -f file:从指定的文件中读取sed命令。

三、sed基本操作命令1. p:打印匹配行。

2. d:删除匹配行。

3. s/pattern/replacement/g:替换匹配的文本。

4. i:在指定行之前插入文本。

5. a:在指定行之后追加文本。

四、使用sed进行正则表达式匹配与替换sed命令的最常见用法是进行字符串匹配与替换。

下面介绍一些常用的正则表达式匹配与替换操作:1. 使用sed进行简单的字符串替换假设我们有一个文件file.txt,内容如下:```Hello, World!```我们可以通过下面的命令使用sed进行简单的字符串替换:```sed 's/Hello/Hi/' file.txt```执行上述命令后,输出的结果如下:```Hi, World!```这条命令中,s表示替换操作,/Hello/表示要被替换的字符串,/Hi/表示替换后的字符串。

Linux中的sed命令的详细解释

Linux中的sed命令的详细解释

Linux中的sed命令的详细解释linxu下的sed命令是一个很好的文件处理工具。

下面由店铺为大家整理了linux的sed命令的详细解释的相关知识,希望对大家有帮助!一、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 就是啦!二、Linux中的sed命令详解实例在testfile文件的第四行后添加一行,并将结果输出到标准输出,在命令行提示符下输入如下命令:sed -e 4a\newLine testfile首先查看testfile中的内容如下:$ cat testfile #查看testfile 中的内容HELLO LINUX!Linux is a free unix-type opterating system.This is a linux testfile!Linux test使用sed命令后,输出结果如下:$ sed -e 4a\newline testfile #使用sed 在第四行后添加新字符串HELLO LINUX! #testfile文件原有的内容Linux is a free unix-type opterating system.This is a linux testfile!Linux testnewline以行为单位的新增/删除将 /etc/passwd 的内容列出并且列印行号,同时,请将第 2~5 行删除![root@www ~]# nl /etc/passwd | sed '2,5d'1 root:x:0:0:root:/root:/bin/bash6 sync:x:5:0:sync:/sbin:/bin/sync7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown.....(后面省略).....sed 的动作为 '2,5d' ,那个 d 就是删除!因为 2-5 行给他删除了,所以显示的数据就没有 2-5 行罗~另外,注意一下,原本应该是要下达 sed -e 才对,没有 -e 也行啦!同时也要注意的是, sed 后面接的动作,请务必以 '' 两个单引号括住喔!只要删除第 2 行nl /etc/passwd | sed '2d'要删除第 3 到最后一行nl /etc/passwd | sed '3,$d'在第二行后(亦即是加在第三行)加上『drink tea?』字样![root@www ~]# nl /etc/passwd | sed '2a drink tea'1 root:x:0:0:root:/root:/bin/bash2 bin:x:1:1:bin:/bin:/sbin/nologindrink tea3 daemon:x:2:2:daemon:/sbin:/sbin/nologin.....(后面省略).....那如果是要在第二行前nl /etc/passwd | sed '2i drink tea'如果是要增加两行以上,在第二行后面加入两行字,例如『Drink tea or .....』与『drink beer?』[root@www ~]# nl /etc/passwd | sed '2a Drink tea or ......\> drink beer ?'1 root:x:0:0:root:/root:/bin/bash2 bin:x:1:1:bin:/bin:/sbin/nologinDrink tea or ......drink beer ?3 daemon:x:2:2:daemon:/sbin:/sbin/nologin.....(后面省略).....每一行之间都必须要以反斜杠『\ 』来进行新行的添加喔!所以,上面的例子中,我们可以发现在第一行的最后面就有 \ 存在。

linux命令sed用法

linux命令sed用法

linux命令sed用法Linux命令sed是一款常用的文本处理工具,可以用来实现文本替换、删除、插入等多种操作。

其用法有以下几个方面:1. 替换文本sed命令最常用的功能就是替换文本。

语法如下:sed 's/old/new/g' file.txt其中,s表示替换指令,old表示要替换的文本,new表示替换后的文本,g表示全局替换。

file.txt表示要操作的文件名。

举个例子,假如我们有一个文件file.txt,里面是一些话题的名称,需要将其中的“人工智能”改成“AI”,可以使用以下命令:sed 's/人工智能/AI/g' file.txt2. 删除行如果我们需要删除文件中的某些行,可以使用d指令。

语法如下:sed '/pattern/d' file.txt其中,pattern表示匹配的文本。

file.txt表示要操作的文件名。

这样,可以将匹配到的行删除。

举个例子,如果我们需要将文件file.txt中包含“敏感词”的行全部删除,可以使用以下命令:sed '/敏感词/d' file.txt3. 插入文本如果需要在文件中某一行的前面或后面插入一些文本,可以使用i或a 指令。

语法如下:sed '/pattern/i\ new_line' file.txt或者:sed '/pattern/a\ new_line' file.txt其中,pattern表示匹配的文本,i表示在匹配行前面插入,a表示在匹配行后面插入,new_line表示要插入的文本。

举个例子,如果我们需要在文件file.txt中第二行前面插入一行“这是第一行”,可以使用以下命令:sed '2i\ 这是第一行' file.txt4. 多重编辑如果需要对同一个文件进行多次编辑操作,可以使用多个sed命令,并用分号隔开。

语法如下:sed 'command1; command2; command3...' file.txt举个例子,如果我们需要将文件file.txt中的“敏感词”全部删除,并将“人工智能”改成“AI”,可以使用以下命令:sed '/敏感词/d; s/人工智能/AI/g' file.txt总结sed命令作为一款强大的文本处理工具,可以帮助我们快速进行文本替换、删除、插入等操作,提高工作效率。

linux中sed-i用法

linux中sed-i用法`sed`命令的基本语法为:```sed [选项] 'script' input_file```其中,`[选项]`表示sed命令的各种参数选项,`'script'`表示要执行的sed脚本,`input_file`表示要处理的输入文件。

而`sed -i`命令的使用方法为:```sed -i [选项] 'script' file1 [file2 ...]```其中,`[选项]`表示`sed -i`命令的各种参数选项,`'script'`表示要执行的sed脚本,`file1 [file2 ...]`表示要处理的文件列表。

下面详细介绍常用的`sed -i`选项和示例用法:1.使用正则表达式替换文本:使用`s/old/new/`语法将文本中的`old`字符串替换为`new`字符串。

```sed -i 's/old/new/' file.txt```2.只替换首次出现的字符串:在替换命令末尾添加`1`,只替换每行中第一个匹配到的字符串。

```sed -i 's/old/new/1' file.txt```3.忽略大小写进行替换:使用选项`-i`结合正则表达式选项`-i`,用于忽略大小写匹配并替换。

```sed -i 's/old/new/I' file.txt```4.执行多个替换操作:可以在脚本中使用多个`s/old/new/`命令来执行多个替换操作。

```sed -i -e 's/old1/new1/' -e 's/old2/new2/' file.txt```5.处理多个文件:`sed -i`支持同时处理多个文件,可以在命令中指定多个文件名。

```sed -i 's/old/new/' file1.txt file2.txt```6.创建备份文件:可以在选项中使用备份文件的后缀,它将在原始文件的修改之前创建一个备份文件。

使用sed命令进行行删除和替换

使用sed命令进行行删除和替换简介:sed(stream editor)是Linux系统中用于流编辑的一种强大工具,它能够实现对文本文件的修改、匹配、删除和替换等操作。

本文将介绍sed命令的使用方法,着重讨论行删除和替换功能。

一、行删除1. 删除单行要删除文件中的某一行,可以使用sed命令的“d”选项。

例如,删除文件中第5行的内容,可以使用以下命令:```shellsed '5d' filename```这样就会删除文件filename中的第5行。

2. 删除多行要删除文件中的多行,可以使用以下命令:```shellsed '2,5d' filename```这样会删除文件filename中的第2行到第5行的内容。

二、行替换1. 替换单词要替换文件中的某个单词,可以使用sed命令的“s”选项。

例如,将文件中的"old_word"替换为"new_word",可以使用以下命令:```shellsed 's/old_word/new_word/g' filename```这样会将文件filename中所有的"old_word"替换为"new_word"。

2. 替换行中的内容除了替换单个单词,sed命令还可以替换一整行的内容。

例如,将文件中包含"old_word"的行替换为"new_content",可以使用以下命令:```shellsed '/old_word/c new_content' filename```这样会将文件filename中所有含有"old_word"的行替换为"new_content"。

三、应用示例以下是一些使用sed命令进行行删除和替换的示例:1. 示例一:```This is line 1This is line 2This is line 3This is line 4This is line 5```要删除第3行和第4行,可以使用以下命令:```shellsed '3,4d' filename```执行结果为:```This is line 1This is line 2This is line 5```2. 示例二:```Hello, world!This is a test.Hello, sed!Goodbye, sed!```要将文件中所有的"sed"替换为"awk",可以使用以下命令:```shellsed 's/sed/awk/g' filename```执行结果为:```Hello, world!This is a test.Hello, awk!Goodbye, awk!```总结:本文介绍了sed命令的行删除和替换功能。

02.linux命令之批量替换文件内容sed

02.linux命令之批量替换⽂件内容sed1.sed详解⽤来⾃动编辑⼀个或多个⽂件;简化对⽂件的反复操作;编写转换程序等这⾥主要是批量的替换⽂件内容1)命令格式:sed [可选参数] {script-only-if-no-other-script} [⽂件]2).主要的参数有⼀下内容:Usage: sed [OPTION]... {script-only-if-no-other-script} [input-file]...-n, --quiet, --silentsuppress automatic printing of pattern space-e script, --expression=scriptadd the script to the commands to be executed-f script-file, --file=script-fileadd the contents of script-file to the commands to be executed--follow-symlinksfollow symlinks when processing in place-i[SUFFIX], --in-place[=SUFFIX]edit files in place (makes backup if SUFFIX supplied)-c, --copyuse copy instead of rename when shuffling files in -i mode-b, --binarydoes nothing; for compatibility with WIN32/CYGWIN/MSDOS/EMX (open files in binary mode (CR+LFs are not treated specially))-l N, --line-length=Nspecify the desired line-wrap length for the `l' command--posixdisable all GNU extensions.-r, --regexp-extendeduse extended regular expressions in the script.-s, --separateconsider files as separate rather than as a single continuouslong stream.-u, --unbufferedload minimal amounts of data from the input files and flushthe output buffers more often-z, --null-dataseparate lines by NUL characters--helpdisplay this help and exit--versionoutput version information and exit 参数解析:-e<script>或--expression=<script> 以选项中指定的script来处理输⼊的⽂本⽂件。

Linux系统中sed命令的参数及用法详解

Linux系统中sed命令的参数及用法详解Linux系统中sed 是一种在线编辑器,它一次处理一行内容。

下面由店铺为大家整理了Linux系统中sed命令的参数及用法详解的相关知识,希望对大家有帮助!Linux系统中sed命令的参数及用法详解:参数说明命令格式sed的命令格式:sed [options] 'command' file(s); sed的脚本格式:sed [options] -f file file(s);选项与参数:-n :使用安静(silent)模式。

在一般sed 的用法中,所有来自STDIN 的数据一般都会被列出到终端上。

但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。

-e :直接在命令列模式上进行 sed 的动作编辑;-f :直接将 sed 的动作写在一个文件内, -f filename 则可以运行 filename 内的 sed 动作;-r :sed 的动作支持的是延伸型正规表示法的语法。

(默认是基础正规表示法语法)-i :直接修改读取的文件内容,而不是输出到终端。

动作说明: [n1[,n2]]functionn1, n2 :不见得会存在,一般代表『选择进行动作的行数』,举例来说,如果我的动作是需要在10 到20 行之间进行的,则『 10,20[动作行为] 』function:a :新增,a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~c :取代,c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);p :列印,亦即将某个选择的数据印出。

通常 p 会与参数 sed -n 一起运行~s :取代,可以直接进行取代的工作哩!通常这个s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!Linux系统中的sed命令参数及用法详解:用法详解替换操作:s命令替换文本中的字符串:sed 's/book/books/' file-n选项和p命令一起使用表示只打印那些发生替换的行:sed -n 's/test/TEST/p' file直接编辑文件选项-i,会匹配file文件中每一行的第一个book替换为bookssed -i 's/book/books/g' file全面替换标记g使用后缀 /g 标记会替换每一行中的所有匹配:sed 's/book/books/g' file当需要从第N处匹配开始替换时,可以使用 /Ng:echo sksksksksksk | sed 's/sk/SK/2g' skSKSKSKSKSK echo sksksksksksk | sed 's/sk/SK/3g' skskSKSKSKSK echo sksksksksksk | sed 's/sk/SK/4g' skskskSKSKSK定界符以上命令中字符/ 在sed中作为定界符使用,也可以使用任意的定界符sed 's:test:TEXT:g' sed 's|test|TEXT|g'定界符出现在样式内部时,需要进行转义:sed 's/\/bin/\/usr\/local\/bin/g'删除操作:d命令删除空白行:sed '/^$/d' file删除文件的第2行:sed '2d' file删除文件的第2行到末尾所有行:sed '2,$d' file删除文件最后一行:sed '$d' file删除文件中所有开头是test的行:sed '/^test/'d file已匹配字符串标记&正则表达式 \w\+ 匹配每一个单词,使用 [&] 替换它,& 对应于之前所匹配到的单词:echo this is a test line | sed 's/\w\+/[&]/g' [this] [is] [a] [test] [line]所有以192.168.0.1开头的行都会被替换成它自已加localhost:sed 's/^192.168.0.1/&localhost/' file 192.168.0.1localhost子串匹配标记\1匹配给定样式的其中一部分:echo this is digit 7 in a number | sed 's/digit \([0-9]\)/\1/' this is 7 in a number命令中 digit 7,被替换成了 7。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux命令之sed基本用法
sed命令格式:
Sed [选项] '条件指令' 文件
选项:
-n 屏蔽默认输出
-r 支持扩展正则
-i 修改源文件
条件:
行号4 4,5 4~2 4,+10
/正则/
指令:
p 打印
d 删除
s 替换s/旧/新/g
a 追加
i 插入
c 替换行
[qh@root test]$ cat test.txt
星期一
星期二
星期三
星期四
一、sed命令的-n 选项:
1)输出文件第N行内容(若不加-n ,则打印全部内容且第1行重复2次)[qh@root test]$ sed -n ‘1p’test.txt
星期一
[qh@root test]$ sed ‘1p’test.txt
星期一
星期一
星期二
星期三
星期四
2)指定打印第2行到第4行的文件内容
[qh@root test]$ sed -n ‘2,4p’test.txt
星期二
星期三
星期四
3)指定打印第1行和4行的文件内容
[qh@root test]$ sed -n ‘1p;4p’test.txt 星期一
星期四
4)打印第2行以及后面的10行
[qh@root test]$ sed -n ‘2p,+10p’test.txt 星期二
星期三
星期四。

5)打印奇数行
[qh@root test]$ sed -n ‘1~2p’test.txt
星期一
星期三
6)打印偶数行
[qh@root test]$ sed -n ‘2~2p’test.txt
星期二
星期四
二、sed命令的-i 选项:
1),sed命令所做的处理只是把操作结果(包括打印、删除等)输出到当前终端屏幕,而并不会对原始文件做任何更改:
删除所有行
[qh@root test]$ sed ‘d’test.txt
查看文件内容,发现并未改动
[qh@root test]$ cat test.txt
星期一
星期二
星期三
星期四
#若希望直接修改文件内容,应添加选项-i
[qh@root test]$ sed -i ‘d’test.txt
发现文件内容已删除
[qh@root test]$ cat test.txt
三、sed工具的p、d、s操作指令案例集合(自己慢慢体会)1)输出所有行,等同于cat a.txt
[qh@root test]$ sed - n 'p' a.txt
2)输出第4行
[qh@root test]$ sed - n '4p' a.txt
3)输出第4~7行
[qh@root test]$sed - n '4,7p' a.txt
4)输出第4行及其后的10行内容
[qh@root test]$sed - n '4,+10p' a.txt
5)输出以bin开头的行
[qh@root test]$sed - n '/^bin/p' a.txt
6)输出文件的行数
[qh@root test]$sed - n '$=' a.txt
7)删除第3~5行
[qh@root test]$ sed '3,5d' a.txt
8)删除包含xml的行
[qh@root test]$sed '/xml/d' a.txt
9)删除以install为开头的行
[qh@root test]$ sed '/^install/d' a.txt
10)删除文件最后一行
[qh@root test]$sed '$d' a.txt
11)删除所有空行
[qh@root test]$ sed '/^$/d' a.txt
12)将全文中的2017替换为2019
[qh@root test]$sed ‘s/2017/2019/g’ a.txt
四、sed工具的a、i、c 操作指令案例集合
[qh@root test]$cat a.txt
星期一
星期二
星期三
1)在第二行后追加XX
[qh @root test] sed -i '2a XX' a.txt
星期一
星期二
XX
星期三
2)在第二行前插入XX
[qh @root test] sed -i '2i XX' a.txt
星期一
XX
星期二
星期三
3)将第二行替换为XX
[qh @root test] sed -i '2c XX' a.txt
星期一
XX
星期三
五、sed支持正则表达式
[qh@root test]$cat test.txt
I love you
My name is qi
1)删除文件中每行的第二个、最后一个字符
分两次替换操作,第一次替换掉第2个字符,第二次替换掉最后一个字符[qh@root test]$ sed 's/.//2 ; s/.$//' test.txt
2)将文件中每行的第一个、倒数第1个字符互换
每行文本拆分为“第1个字符”、“中间的所有字符”、“倒数第1个字符”三个部分,然后通
过替换操作重排顺序为“3-2-1”
[qh@root test]$ sed - r 's/^( .) ( .*) ( .) $/\3\2\1/' test.txt
3)删除文件中所有的数字
[qh@root test]$ sed 's/[ 0- 9] // test.txt
4)删除所有数字、行首空格
[qh@root test]$ sed - r 's/[ 0- 9] //g;s/^( ) +//' test.txt
5)为文件中每个大写字母添加括号
[qh@root test]$#sed - r 's/( [ A- Z] ) /[ \1] /g' test.txt
最后附带一张正则表
常用正则表达式。

相关文档
最新文档