如何使用sed命令切换案例?

时间:2018-05-08 12:13:48

标签: regex macos sed

我想在文件中将kAbcdedf替换为abcdef。我尝试使用sed命令。一些建议说,如果我输入这个命令

echo 'abc'|sed 's/^../\u&/'

结果将是

Abc

但是在macOS上(使用zsh),结果是

uabc

有没有人知道使用sed命令切换案例的正确方法?

如何搜索kAbcd,然后将该字符串替换为abcd,即删除k并将k后的下一个字母大写?

1 个答案:

答案 0 :(得分:2)

this
  • $ # with GNU sed $ echo 'kAbcd' | sed -E 's/k(.)/\l\1/' abcd $ # with perl if GNU sed is not available $ echo 'kAbcd' | perl -pe 's/k(.)/\l$1/' abcd 将小写给定参数的第一个字符
  • 使用\l修饰符替换行中的所有此类实例

如WiktorStribiżew在评论中所述,另请参阅:How to use GNU sed on Mac OS X