微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在sed中search和replacehtml标签用斜杠

我有一个文件包含这个<!-- CordovaVersion -->我想用<script src="cordova-1.7.0.js" type="text/javascript"></script>

我试过了

sed 's/"<!-- CordovaVersion -->"/"<script src="cordova-1.7.0.js" type="text/javascript"></script>"/g' junk4 > junk4_modified

但似乎并不奏效。 请帮忙吗?

链接链接.so文件时是否有性能损失?

Linux内核:自旋锁SMP:为​​什么在spin_lock_irq SMP版本中有一个preempt_disable()?

Linux内核中的代码在哪里打开(“/ proc / self / fd / NUM”)?

从Web浏览器打开文件系统文件夹/目录

两个不同进程的两个相同的线性地址?

Android有没有办法在adb中显示进程优先级?

将vim中的filter命令input后,将光标移动到下一行

Linux x86 64是否同时拥有2M和4K页面

Tizen移动和iPad的Linux – 它是否允许GCC和Java?

如何判断用户是否select了“terminal运行”

使用一些其他字符,如#作为分隔符而不是/ 。

sed 's#<!-- CordovaVersion -->#<script src="cordova-1.7.0.js" type="text/javascript"></script>#g' junk4 > junk4_modified

首先,你不需要像李高说的那样额外的东西,其次,你需要知道sed是如何理解什么被替换的:

s/this/that/flags

这意味着用附加标志替换this (例如g表示无处不在)。 其实这个/不是一个特殊的字符,你可以使用任何其他的#如scai所说的:

s#this#that#flags

但问题是什么? 想象一下,你想用th/at替换this 。 然后sed看到这个:

s/this/th/at/flags

并得到正确的困惑。 你想用this替换吗? 比at/flags意味着什么? 你试图用at替换this/th吗? 或者this与th/at ? 没有办法告诉。

这就是为什么你应该逃避特殊字符 。 由于我们使用/作为分隔符,因此当它不是分隔符时,我们必须将其转义。

sed 's/<!-- CordovaVersion -->/<script src="cordova-1.7.0.js" type="text/javascript"></script>/g' junk4 > junk4_modified

(当然,如果我们使用#并且在this或者那里有#你应该逃脱# )

你可以在这里阅读关于sed的更多信息,包括它的特殊字符。

sed 's/<!--s*CordovaVersions*-->/<script src="cordova-1.7.0.js" type="text/javascript"></script>/g' junk4 > junk4_modified

使用这一行,sed将搜索"<!-- CordovaVersion -->"并尝试用<script src="cordova-1.7.0.js" type="text/javascript"></script>"替换它。但是你的原始文件不包含" 。 只需从sed命令中删除它们。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐