Skip to main content

A command line tool to apply substitutions to a text file

Project description

apply-subs

PyPI PyPI codecov pre-commit.ci status Imports: isort Code style: black

A command line tool to apply a dictionnary (json) of substitutions to text files.

Installation

The easiest installation method is

$ pip install apply-subs

In order to install apply-sub in isolation, use pipx instead.

Examples

minimal case

$ echo "Lorem ipsum dolor sit amet, consectetur adipiscing elit" > mytext.txt
$ echo '{"Hello": "Lorem ipsum", "goodbye": "adipiscing elit"}' > mysubs.json
$ apply-subs mytext.txt -s mysubs.json

will print the patched content

Hello dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore goodbye.

diff mode

Use diff mode (-d/--diff) to print a diff instead of the end result

--- mytext.txt
+++ mytext.txt (patched)
@@ -1 +1 @@
-Lorem ipsum dolor sit amet, consectetur adipiscing elit
+Hello dolor sit amet, consectetur goodbye

Use -cp/--cdiff/--colored-diff for a colored output (when supported).

inplace substitutions

-i/--inplace

$ apply-subs --inplace mytext.txt -s mysubs.json

is equivalent to

$ apply-subs mytext.txt -s mysubs.json > mytext.txt

target several files in one go

The target positional argument can consist of a single file (as illustrated above), or many. This is useful for instance if you need to apply a set of subtitutions to all files in a project whose name match a regexp.

$ git ls-files | egrep "(.md|.py)$" | xargs apply-subs -s subsubs.json -i

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

apply_subs-0.5.0.tar.gz (16.4 kB view details)

Uploaded Source

Built Distribution

apply_subs-0.5.0-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

Details for the file apply_subs-0.5.0.tar.gz.

File metadata

  • Download URL: apply_subs-0.5.0.tar.gz
  • Upload date:
  • Size: 16.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.9.1

File hashes

Hashes for apply_subs-0.5.0.tar.gz
Algorithm Hash digest
SHA256 d6b66c53fa57d853f9d988d05bbf30897bb4fbda8540212a5da0052dc8e6359f
MD5 69467dab03e794229a6c0cb5fc933521
BLAKE2b-256 b97890a29309a2713944643c2275c4b74a16826c871bf5d78b985baf48c6bc07

See more details on using hashes here.

File details

Details for the file apply_subs-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: apply_subs-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 16.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.9.1

File hashes

Hashes for apply_subs-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a1a3d470cfb90760944ea2e0c035bdd7cd4f01110a12b9451beaebe64cf641e3
MD5 c19d40f489f06b70768752817aef5d71
BLAKE2b-256 69311888bac25af26469a453679ff0fdee9e987a9fb129b7626e85fa87ea1562

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