正则表达式 – Sed错误:替换命令中的错误标志:’U’

前端之家收集整理的这篇文章主要介绍了正则表达式 – Sed错误:替换命令中的错误标志:’U’前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是bash脚本的新手,并试图用sed替换我文件中的一些单词.以下是我在脚本中使用的bash:
sed -i '' "s/<pre>.*<\/pre>/<pre>($NEWNAME) $MD5<\/pre>/"~/Desktop/replace.html

我收到错误消息说:替换命令中的坏标志:’U’.我使用双引号,因为我需要将变量放入.

我的环境是Mac.

======================================

1.Turns out我忘了在替换字符串和文件名之间留一个空格.这导致结果始终显示:替换命令中的错误标志:’〜’.它现在有效.

2.原因是我使用MD5 = $(md5路径)来创建MD5值,它获得MD5(路径)*****的reault,并且路径包含/打破正则表达式.更改MD5 = $(md5 -q路径)后,就可以了.

很可能你的$NEWNAME变量中有一个正斜杠,它在sed中用作正则表达式分隔符.尝试使用备用分隔符的此sed,例如〜:
sed -i '' "s~<pre>.*</pre>~<pre>($NEWNAME) $MD5</pre>~" ~/Desktop/replace.html
原文链接:https://www.f2er.com/regex/356974.html

猜你在找的正则表达式相关文章