Sed:改变替换组的情况

时间:2009-04-23 00:38:47

标签: regex sed unix

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

由于 马丁

3 个答案:

答案 0 :(得分:14)

在括号中包围匹配的模式,即:\(pattern \),然后使用\ U \ 1作为替换文本。 \ 1是匹配模式,\ U强制大写。

echo abcdef | sed -e 's/\(abc\)/\U\1/'

答案 1 :(得分:3)

通过tr?

运行它 开玩笑吧。您可以使用y///转换进行大小写更改。这不是非常方便,但它的功能。如果您的转换过于复杂,您可能需要考虑升级到perl。

答案 2 :(得分:1)

我知道这是一个sed问题,只是想指出有几种方法可以完成这个功能。 awk是一个用于文本争用的工具,在某些情况下更容易使用。在我看来,这是其中一次:

#!/bin/sh
INFO="This is a test"
ALLCAPS=`echo $INFO | awk '{print toupper($0)}'`
echo $ALLCAPS

收益率:这是一次测试

相关问题