https://github.com/vandot/casbab
CLI "tool" and a bash "library" for Camel/Snake/Kebab case conversion
https://github.com/vandot/casbab
Last synced: 9 months ago
JSON representation
CLI "tool" and a bash "library" for Camel/Snake/Kebab case conversion
- Host: GitHub
- URL: https://github.com/vandot/casbab
- Owner: vandot
- License: bsd-3-clause
- Created: 2017-05-03T23:44:56.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-08-27T20:17:06.000Z (over 8 years ago)
- Last Synced: 2025-05-03T21:32:42.586Z (12 months ago)
- Language: Shell
- Size: 7.81 KB
- Stars: 30
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-systools - Camel Snake Kebab
README
# Camel Snake Kebab
CLI "tool" and a bash "library" for converting representation style of compound words or phrases.
Inspired by and bash port of [casbab](https://github.com/janos/casbab).
[](https://travis-ci.org/vandot/casbab)
[](https://hub.docker.com/r/vandot/casbab/)
[](https://hub.docker.com/r/vandot/casbab/)
Supports '_', '-' or ' ' as a delimiter and case change inside string. Mixed usage of delimiters and case change is not supported. First delimiter that could be found is going to be used as a delimiter, case change is used only when there are no delimiters. Empty string input will return empty string.
## Installation
```sh
Git clone, copy paste casbab.sh or docker pull vandot/casbab :D
```
## Example usage
You can use casbab as a library and source it inside your script, send string as a argument or read it from stdin.
```sh
$ ./casbab.sh pascal Camel Snake Kebab
$ CamelSnakeKebab
$ echo camel-Snake-Kebab | ./casbab.sh camel
$ camelSnakeKebab
$ ./casbab.sh snake CamelSnakeKebab
$ camel_snake_kebab
$ echo Camel-Snake-keBaB | ./casbab.sh camelsnake
$ Camel_Snake_Kebab
$ ./casbab.sh screamingsnake camel____snake_kebab
$ CAMEL_SNAKE_KEBAB
$ echo camelSNAKEKebab | ./casbab.sh kebab
$ camel-snake-kebab
$ ./casbab.sh camelkebab camel---snake-kebab
$ Camel-Snake-Kebab
$ echo "camel--SNAKE---Kebab" | ./casbab.sh screamingkebab
$ CAMEL-SNAKE-KEBAB
$ ./casbab.sh lower CAmEL-SNaKE-KEbAB
$ camel snake kebab
$ echo camel_snake_kebab | ./casbab.sh title
$ Camel Snake Kebab
$ ./casbab.sh screaming camel_Snake____kebab
$ CAMEL SNAKE KEBAB
$ docker run --rm vandot/casbab pascal CamelSNAKEKebab
$ CamelSnakeKebab
```