Sed脚本查找某些行并替换单词

Sed脚本查找某些行并替换单词,sed,substitution,Sed,Substitution,我需要写一个sed脚本, 在以“/”开头并以“/”结尾的所有行上,出现任何“perl”到“perl”的情况。 我可以使用if语句吗 if(行以/*&结尾以*/) 用perl替换perl 这是我的提示 编写一个sed脚本,该脚本将执行以下所有操作: (a) 将所有空白(空格和制表符)减少为一个空格 (b) 删除所有空白行(无非空白字符)和 (c) 将所有以“/”开头并以“/”结尾的行(此处*不是通配符)中出现的任何“perl”更改为“perl” 这就是我目前所拥有的 s/^[]*$//g /^美元

我需要写一个sed脚本, 在以“/”开头并以“/”结尾的所有行上,出现任何“perl”到“perl”的情况。 我可以使用if语句吗

if(行以/*&结尾以*/) 用perl替换perl

这是我的提示

编写一个sed脚本,该脚本将执行以下所有操作:

(a) 将所有空白(空格和制表符)减少为一个空格

(b) 删除所有空白行(无非空白字符)和

(c) 将所有以“/”开头并以“/”结尾的行(此处*不是通配符)中出现的任何“perl”更改为“perl”

这就是我目前所拥有的

s/^[]*$//g

/^美元/日

我完成了a部分和b部分,我不知道如何做c部分这可能对你有用(GNU-sed):


第一个地址将以下替换的范围限制为以
/
开头和结尾的行。替换将所有出现的
perl
替换为
perl
,彻底删除这些行。

您尝试了什么<代码>sed没有“if”语句。它不是那种语言。
sed'/^\/.\/$/s/perl/perl/g'
?它真的需要sed吗?您想要以
/
/*
开头的行吗?
hyperlink
应该变成
hyperlink
?你所说的
到底是什么意思?我试图在脚本中编写,而不是在命令行中。
?编辑您的问题,以包括一些简明、可测试的示例输入和预期输出,并包括您不希望更改的案例(如果有)。有趣的是,@ghoti的答案比当前的两个答案快了近半个小时,是一个更好、更可移植的答案(不依赖GNU)。。。
sed '\#^/.*/$#s/perl/\U&/g' file