linux命令sed的用法linux命令sed

如题所述

sedi命令详解?

【Linux命令】sed-i命令详解

一.使用说明

#sed

选项与参数:

-n:使用安静(silent)模式。在一般sed的用法中,所有来自STDIN的数据一般都会被列出到终端上。但如果加上-n参数后,则只有经过sed特殊处理的那一行(或者动作)才会被列出来。

-e:直接在命令列模式上进行sed的动作编辑;

-f:直接将sed的动作写在一个文件内,-ffilename则可以运行filename内的sed动作;

-r:sed的动作支持的是延伸型正规表示法的语法。(默认是基础正规表示法语法)

-i:直接修改读取的文件内容,而不是输出到终端。

动作说明:]function

n1,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

sed-i就是直接对文本文件进行操作的

sed-i‘s/原字符串/新字符串/’/home/1.txt

sed-i‘s/原字符串/新字符串/g’/home/1.txt

这两条命令的区别就是,看示例

这是1.txt的内容

#cat1.txt

d

ddd

#ff

1

2

3

4

1

2

3

4

再看执行这两条命令的区别吧

sed-is/d/7523//home/1.txt

执行结果

7523

7523dd

#ff

1

2

3

4

5

1

2

3

4

5

sed-is/d/7523/g/home/1.txt

执行结果

7523

752375237523

#ff

1

2

3

4

5

1

2

3

4

5

二.示例:

去掉“行首”带“@”的首字母@

sed-i‘s/^@//’file

特定字符串的行前插入新行

sed-i‘/特定字符串/i新行字符串’file

特定字符串的行后插入新行

sed-i‘/特定字符串/a新行字符串’file

特定字符串的删除

sed-i‘/字符串/d’file

linux如何删除文件的第100行?

我的:可以使用Linux里面的sed命令删除文件的第100行,具体命令是:

sed-i100dfilename

linux命令三剑客详解?

Linux三剑客grep、sed、awk

grep:Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是GlobalRegularExpressionPrint,表示全局正则表达式版本,它的使用权限是所有用户。

sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。

AWK是一种处理文本文件的语言。它将文件作为记录序列处理。在一般情况下,文件内容的每行都是一个记录。

linuxsed命令如何同时替换两个一样的字符串?

sed"s/^somevariable=.{0,}/somevariable=$1/g"/file_path/file.suffix

sed"s/^somevariable=.*/somevariable=$1/g"/file_path/file.suffixsed里面调用变量要用双引号

温馨提示:答案为网友推荐,仅供参考
相似回答