Search code examples
bashawksedcamelcasing

Awk/sed script to convert a file from camelCase to underscores


I want to convert several files in a project from camelCase to underscore_case.

I would like to have a onliner that only needs the filename to work.


Solution

  • You could use sed also.

    $ echo 'fooBar' | sed -r 's/([a-z0-9])([A-Z])/\1_\L\2/g'
    foo_bar
    $ echo 'fooBar' | sed 's/\([a-z0-9]\)\([A-Z]\)/\1_\L\2/g'
    foo_bar