10

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

谢谢马丁

4

3 回答 3

17

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

echo abcdef | sed -e 's/\(abc\)/\U\1/'
于 2009-11-29T02:01:52.043 回答
3

通过 tr 运行它?

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

于 2009-04-23T00:43:18.153 回答
1

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

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

产量:这是一个测试

于 2009-05-09T13:21:38.047 回答