如何使用sed Unix命令将匹配组的大小写从大写更改为大写?
由于 马丁
答案 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
收益率:这是一次测试