发布网友 发布时间:2022-04-21 11:58
共1个回答
热心网友 时间:2023-11-10 05:59
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里面调用变量要用双引号