用于查找某些行并替换单词的

时间:2016-03-01 19:00:47

标签: sed substitution

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

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

这是我的提示

编写一个sed脚本,它将完成以下所有操作:

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

(b)删除所有空白行(不包含非空白字符)和

(c)更改,在以“/”开头并以“/”结尾的所有行(*不表示为通配符),任何“perl”到“PERL”的出现

这是我到目前为止所拥有的

s / ^ [] * $ / / g

/ ^ $ / d

我完成了a部分和b部分,我不知道如何做部分c

1 个答案:

答案 0 :(得分:0)

这可能适合你(GNU sed):

sed '\#^/.*/$#s/perl/\U&/g' file

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