我有几十个包含以下文字的文件:
request {
Request {
input("testing")
}
}
我想使用sed来大写输入中任何文本的第一个字母。例如,我想测试是测试。我尝试了以下命令来大写所有的开头,但我怎么才能将它应用于输入?
sed -e "s/\b\(.\)/\u\1/g"
答案 0 :(得分:1)
怎么样
sed 's/input("\(.\)/input("\u\1/'
<强>测试强>
$ echo -e 'request {
Request {
input("testing")
}
}' | sed 's/input("\(.\)/input("\u\1/'
# Outputs
# request {
# Request {
# input("Testing")
# }
#}
它的作用是什么?
/input("\(.\)
匹配input("
后跟第一个字符(示例t
。匹配.
的字符在\1
中捕获
input("\u\1
替换字符串。 input("
被自己取代。 \u\1
将\1
中捕获的字符转换为大写字母。