替换bash脚本中的字符串(MacOS)

迪斯科

我在Makefile中生成了以下代码:

    ${SED} -i '' -e "s|(DESTDIR)|${DESTDIR}|g" $(pcfiles)
#   ${SED} -i "s|(DESTDIR)|${DESTDIR}|g" $(pcfiles)

我想替换为

#   ${SED} -i '' -e "s|(DESTDIR)|${DESTDIR}|g" $(pcfiles)
    ${SED} -i "s|(DESTDIR)|${DESTDIR}|g" $(pcfiles)

因此,仅需注释掉其中一行,然后替换为另一行即可。

但是由于单引号和双引号我无法实现。

如果某些正则表达式专家愿意花1-2分钟来帮助我,那将是很棒的。

我在这里拔头发。

谢谢

mklement0
# Comment out 1st line.
sed -E 's`([[:space:]]*\$\{SED\} -i '"''"' -e "s\|\(DESTDIR\)\|\$\{DESTDIR\}\|g" \$\(pcfiles\))`#\1`' Makefile
# Uncomment 2nd line.
sed -E 's`#([[:space:]]+\$\{SED\} -i "s\|\(DESTDIR\)\|\$\{DESTDIR\}\|g" \$\(pcfiles\))`\1`' Makefile 

这些sed命令以单引号括起来,通常更易于使用(您不必担心shell会扩展您的字符串)。

第一个命令的棘手方面是单引号不能包含在单引号字符串中(即使转义也不是一个选项),因此该命令被简单地分成两个单引号字符串,其中"''"-等于''-进行了拼接。

另一个棘手的方面是获取所有特殊正则表达式字符的转义。正确的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在ruby bash脚本中替换字符串-Ruby

来自分类Dev

用bash脚本中的变量替换字符串

来自分类Dev

Shell脚本中的字符串替换

来自分类Dev

用于替换字符串末尾字符的 Bash 脚本

来自分类Dev

Bash脚本:查找并替换字符串中的大写字符

来自分类Dev

Bash脚本:查找并替换字符串中的大写字符

来自分类Dev

bash中的子字符串替换

来自分类Dev

查找并替换bash中的字符串

来自分类Dev

替换Linux bash中的字符串

来自分类Dev

macOS Bash shell 脚本中的目录截断并转换为字符串问题

来自分类Dev

在bash脚本中乘法字符串

来自分类Dev

在bash脚本中解析字符串

来自分类Dev

bash脚本中的字符串模糊

来自分类Dev

替换python脚本中的字符串并执行脚本

来自分类Dev

如何用bash脚本替换字符串并写回结果

来自分类Dev

如何用bash脚本替换字符串并写回结果

来自分类Dev

bash脚本:查找并替换多字字符串

来自分类Dev

perl:从bash脚本通过ssh替换字符串

来自分类Dev

使用bash脚本在文件中用变量替换字符串

来自分类Dev

使用bash shell脚本替换文件中的字符串

来自分类Dev

使用bash sed或脚本语言(TCL,perl)替换文件中的字符串

来自分类Dev

Bash脚本,无法用转义的$和&替换文件中的字符串

来自分类Dev

Bash脚本,无法用转义的$和&替换文件中的字符串

来自分类Dev

Shell脚本:替换和添加字符串中的字符

来自分类Dev

替换管道字符“ |” 带有转义的小写字符“ \ |” 在bash脚本中的字符串中

来自分类Dev

无法替换Groovy脚本中的字符串文本

来自分类Dev

如何在Unix Shell脚本中替换字符串

来自分类Dev

用脚本替换文件中的字符串

来自分类Dev

如何正确替换脚本中包含空格的字符串

Related 相关文章

热门标签

归档