unix - 删除下划线并将其后的字符大写

标签 unix command-line replace sed awk

我只是想知道是否有办法替换文件夹中每个文件中的每个下划线(比如 .java 文件)并将下一个字符转换为大写,比如

  • getEmployee_NamegetEmployeeName
  • us_employee_nameusEmployeeName

  • 如果我们有 id 呢?我们想大写 ID ,如
  • us_employee_idusEmployeeID ?

  • 我还没有尝试过任何东西,因为我还在学习。我可以做类似 s/_/\U\1/g 的事情吗?在 sed或者我可以使用一些脚本来做到这一点吗?

    最佳答案

    您的建议 's/_/\U\1/g'非常接近。如果你有 GNU sed,那么以下应该可以工作:

    sed 's/_\(.\)/\U\1/g'
    

    (我说应该,因为你想要的并不总是你想要的。)

    关于unix - 删除下划线并将其后的字符大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17332347/

    相关文章:

    mysql - 在 SQL 中批量查找和替换控制字符

    java - 用包含原始子字符串的条件子字符串替换多次出现的子字符串

    linux - 有没有办法让 rlwrap 自动删除历史文件?

    command-line - 加密 header 时出现命令行 7zip 问题

    linux - 如何使用 `scp` 命令复制文件夹而不重写同名的本地文件?

    macos - dyld:DYLD_ 环境变量被忽略,因为主可执行文件 (/usr/bin/sudo) 是 setuid 或 setgid

    unix - 匹配 sed 命令中的特定行

    JavaScript 以编程方式创建正则表达式

    c - 建立与 IRC 的连接

    linux - 带有变量和字符串的 echo 命令