Sed:改变替换组的情况

9 regex unix sed

如何使用sed Unix命令将匹配组的大小写从小写更改为大写?

谢谢马丁

小智 16

用括号括起匹配的模式,即:\(pattern \),然后使用\ U\1作为替换文本.\ 1是匹配模式和\ U强制大写.

echo abcdef | sed -e 's/\(abc\)/\U\1/'
Run Code Online (Sandbox Code Playgroud)

  • [sed文档的相关部分](http://www.gnu.org/software/sed/manual/sed.html#The-_0022s_0022-Command). (2认同)
  • 这有助于我对一行文本进行小写大括号,其中冒号将文本的开头标记为小写:`s#\(^。*:\)\(。* \)#\ 1 \ L \ 2#` (2认同)

tyl*_*erl 3

通过 tr 运行它?

只是在开玩笑。您可以使用y///转换来更改大小写。虽然不是很方便,但是很实用。如果您的转换变得太复杂,您可能需要考虑升级到 perl。