Cross-platform stream-line editing tool
Project description
sedpy
sedpy
is an open-source project being built as a cross-platform alternative of sed for easier and more flexible stream line editing across BSD and GNU systems.
What is sed and what is sedpy?
The sed
command, short for stream editor, performs editing operations on text coming from standard input or a file. sed edits line-by-line and in a non-interactive way.
This means that you make all of the editing decisions as you are calling the command, and sed executes the directions automatically. This may seem confusing or unintuitive, but it is a very powerful and fast way to transform text, especially as part of a script or automated workflow.
The problem with sed
is that it's not purely cross-platform. Linux uses GNU-based sed
while macOS has the BSD version of sed
.As a result - both have quite important sytnatic and usage difference. At the same time, sed
though exteremly powerful is quite complex to use.
The sedpy
project exactly tries to solve both these problems. The sedpy
project intially supports only stream text replacement (supports regex). The future scope of the project is huge and requires continuous feedback and support from all of you amazing folks out there!
Quick Installation
The easiest way to install sedpy is using PyPi pip
:
pip install sedpy
or
pip3 install sedpy
Installation using Source:
-
Clone the repo:
git clone https://github.com/mritunjaysharma394/sedpy.git
-
Enter the
sedpy
directory:cd sedpy
-
Install using:
pip3 install -e .
This should successfully install the sedpy
cli package.
As an alternative for Step 3, you can also use:
./install.sh
If ./install.sh
fails to work, try running it after changing it's access:
$ sudo chmod a+x install.sh
How to use?
As a sample, you can download the test.txt file. We can play with it to learn about it's very basic usage:
The contents of test.txt
file as of now reads:
7 + 4 = 13
We will use sedpy
cli to change the '4' to '6' without opening the test.txt
file.Just enter below command and see the magic:
sedpy "4" "6" test.txt
NOTE: test.txt
argument may differ according to the location where you have stored it.
Now when you open test.txt
, file will now read as:
7 + 6 = 13
So you can observe that sedpy
can be used as:
sedpy "inital string" "string to replace it" "path to the file where changes have to be made"
Thank you so much for having fun with this! This is just the inital release. More major updates on the cards :tada:
Stay Tuned!
Your contributions are welcome and highly appreciated. All you need to begin is to go through the guidelines in CONTRIBUTING.md
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file sedpy-1.0.0.tar.gz
.
File metadata
- Download URL: sedpy-1.0.0.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/2.7.18rc1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1cb2a5d1b3766fe5667694feb6b6284a54db74e04b8e7205ac5508c54b51d82 |
|
MD5 | 0526e85162b8e1f72b54cdb195494878 |
|
BLAKE2b-256 | c9fc89b5c983ac9da7ef84a52ecc180b5d73539d37d66efb107fb1d65ed8bd19 |
File details
Details for the file sedpy-1.0.0-py2-none-any.whl
.
File metadata
- Download URL: sedpy-1.0.0-py2-none-any.whl
- Upload date:
- Size: 5.0 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/2.7.18rc1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2968134f6f7340f9da5b04f152960e7fc625d6d47effe66fef714e6dd14d72ca |
|
MD5 | a7af9df35169fc58cf97a3e7963980ed |
|
BLAKE2b-256 | e8c91cfc6725d8be4231eb4bbb34fc71cda3667405abfdd84aa33f0f37503f31 |