让 sed 将小写输入转换为大写和小写

让 sed 将小写输入转换为大写和小写

我有变量from="abc"to="xyz"定义小写字符串。

我如何使用sed它来替换fromto但匹配大小写。

那是echo "abc def ABC DEF" | <sedcommand>

应该生产xyz def XYZ DEF

答案1

以下是 sed 和 bash 参数扩展的组合:

$ from="abc" to="xyz" 
$ echo "abc def ABC DEF" | sed "s/$from/$to/g; s/$from/${to^^}/Ig"
xyz def XYZ DEF

第一个s///替换所有小写字母,第二个替换所有混合大小写字母,并将其替换为大写字母 - 将替换AbcXYZ

相关内容