如何将多个文件中常量字符串后的第一个字符大写?

如何将多个文件中常量字符串后的第一个字符大写?

我正在寻找一种方法来将同一目录中的多个文本文件中给定字符串后的第一个字符大写。我认为 sed 是用于此目的的工具。

例如,文本文件都包含字符串“name=”,我想将后面的字母大写。有时,一个文件中会有多个“name=”实例。后面的字符始终是字母,有时已经是大写字母。还有其他“=”实例,其后面没有“名称”。

有人能在这里指出正确的方向吗?我非常高兴了解自己的情况,只是不知道该去哪里寻找。

谢谢!

答案1

使用 GNU sed,您可以简单地做到这一点:

sed '/name=[a-z]/s/name=\(.\)/name=\U\1/g'

在哪里:

  1. \(.\)定义单个字符的正则表达式集合组。

  2. \U告诉 sed 将某些内容转换为大写。

  3. \1引用回第一个集合组,即。您想要大写的字符。

相关内容