Regex sed:有选择地更改/保留正则表达式匹配的大小写(反向引用)?
我一直无法找到在使用“sed”时如何限制更改特定缓冲输出的字符大小写。例如,在下面的“sed”命令中,我选择了两个文本跨距作为缓冲区保存,以便在substation期间重复使用:Regex sed:有选择地更改/保留正则表达式匹配的大小写(反向引用)?,regex,sed,case-sensitive,backreference,Regex,Sed,Case Sensitive,Backreference,我一直无法找到在使用“sed”时如何限制更改特定缓冲输出的字符大小写。例如,在下面的“sed”命令中,我选择了两个文本跨距作为缓冲区保存,以便在substation期间重复使用: sed -ri 's/^<div class="line" data-line-mode="verse"><span class="speaker"[^>]*>([^<]*)<\/span>[ ]*(.*)[ ]*$/<p class="psi"><fo
sed -ri 's/^<div class="line" data-line-mode="verse"><span class="speaker"[^>]*>([^<]*)<\/span>[ ]*(.*)[ ]*$/<p class="psi"><font size="-1" color="green"><b>\U\1<\/b>:<\/font><br>\n\2<br>/' "$f"
sed-ri的/^]*>([^From,尝试\E
停止由\L
或\U
启动的大小写转换:
sed -ri 's/^...$/...\U\1\E<\/b>:<\/font><br>\n\2<br>/' "$f"
^^
sed-ri的/^…$/…\U\1\E:
\n\2
/“$f”
^^
+1;由于OP希望第二次匹配使用的是原始案例,\E
是这里的解决方案;从链接页面:\E停止由\L或\U启动的案例转换。
更简洁地说明问题:sed-r's/(A)(b)/\U\1\2/'
<p class="psi"><font size="-1" color="green"><b>FIRST_BUFFER_OUTPUT_ALL_UPPERCASE<\/B>:<\/FONT><BR>\nSECOND_BUFFER_OUTPUT_ORIGINALCASE<BR>
sed -ri 's/^...$/...\U\1\E<\/b>:<\/font><br>\n\2<br>/' "$f"
^^