Skip to main content

Case and word separation preserving replace

Project description

cawspr

Case And Word Separation Preserving Replace (CAWSPR)

What does this do?

This script is as simple as it is stupid: You give it a list of words to replace (e.g. hello world) and a list of words to replace them with (e.g. goodbye world) and it will perform this replacement for various compositions of these words that are common e.g. in programming:

  • separated by spaces: hello worldgoodbye world
  • lowercase and separated by underscores (snake_case): hello_worldgoodbye_world
  • uppercase and separated by underscores (SCREAMING_SNAKE_CASE): HELLO_WORLDGOODBYE_WORLD
  • lowercase and separated by hyphens (kebab-case): hello-worldgoodbye-world
  • separated only by capitalizing the first letter of each word (CamelCase): HelloWorldGoodbyeWorld
  • separated only by capitalizing the first letter of each word except the first (lowerCamelCase): helloWorldgoodbyeWorld

The text in which to make these replacements must be piped into the script's standard input and it will output the resulting modified text to standard output.

That's it.

Installation

pip3 install cawspr

Usage

Replacing all occurrences of hello world and its variants in a file original.txt with goodbye world and writing the result to replaced.txt:

cat original.txt | cawspr 'hello world' 'goodbye world' > replaced.txt

Advertisement

Want to perform such replacements for both file contents and file paths in a directory recursively? Consider full-apply which works great with cawspr!

Similar projects and other resources

  • Softwarerecs StackExchange question in which I asked if anyone knows of an existing CLI tool that does this (perhaps more will crop up in the future)
  • The answers to [this StackOverflow question] are full of links to vim plugins for the same purpose (but I wanted it as a CLI tool):

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cawspr-0.1.2.tar.gz (4.1 kB view details)

Uploaded Source

File details

Details for the file cawspr-0.1.2.tar.gz.

File metadata

  • Download URL: cawspr-0.1.2.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for cawspr-0.1.2.tar.gz
Algorithm Hash digest
SHA256 a4e90fb1c5fb1d4da9929e5f211b879641d2281ed4244a7e83a636637b6b156f
MD5 145ec96b957a2edcd580b8997c6aff24
BLAKE2b-256 11e2ef3fc860d1ab818b69cad6d4f7487cd9c180db72b9d0eec2b84c0dba522f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page