Filter text and save result to file or print to output!
Project description
Filter Text
Command line tool to filter text and save result to file or print to output!
Explore the docs »
Report Bug
·
Request Feature
Table of Contents
About The Project
text_filter.py is a simple commandline tool to filter text using predefined filters and save the result in a new file.
You can use it for:
- Removing lines with whitespaces only in a text file
- Remove duplicated lines in a text file
- Extend the functionality by creating your own custom filters
Built With
This is a simple command line tool written in native python 3, no additional dependencies.
Complete list of dependencies:
Python 3.x |
Installation
Install via pip:
pip install filtertext
Usage
Command line script
Installation Directory
pip will install a command line script that you can use. To find the installation directory of that script, you can run this code:
python -m site --user-base
Inside of that folder, you will find a folder structure similar to Python312\Scripts
or Python312\bin
.
In this folder, there is a script file filter_text.py
.
You can add this folder (../Scripts
or ../bin
) to your environment variables,
so you can run the script without navigating to the folder again.
Run the command line script
You can run the script filter_text.py with some command line arguments:
filter_text.py [-h] [-w] [-d] [-l LIST_FILE] [-D OUTPUT_PATH] [-o OUTPUT_FILE] FILE [FILE ...]
Filter
-w Remove lines that only contain whitespace
-d Remove duplicate lines
Input
FILE: files to filter
-f LIST_FILE: Input file with list of files to filter, one file per line
Output
-D OUTPUT_PATH: Output directory (if it exists, it will be deleted first)
-o OUTPUT_FILE: Output file path (if it exists, it will be deleted first)
For more examples, please refer to the Documentation
Python Library
from filtertext import *
file_path = "example.txt"
remove_whitespace = RemoveWhitespaceLinesTextFilter.from_file(file_path)
remove_whitespace.filter()
print(remove_filter.text)
For more examples, please refer to the Documentation
Contributing
Thank you for your interest in contributing! Any contributions you make are greatly appreciated.
Please make sure to follow our Code of Conduct.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue, if you prefer. Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
Copyright 2024 Micha Grandel
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
See LICENSE.md for more information.
Contact
Project Link: https://github.com/michagrandel/filtertext
Acknowledgments
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 Distributions
Built Distribution
File details
Details for the file filtertext-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: filtertext-1.0.1-py3-none-any.whl
- Upload date:
- Size: 11.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d9afb605d9366339d6634e8852f6854a0dfd89c5f72a3b66e19ba5131e9576e |
|
MD5 | cbd3cb0c469cc41e2a56d0c0ddcf0dd2 |
|
BLAKE2b-256 | ce8bca59c1a2a78ec21764794d4d43e6caec066ccea3194f6f19a6352db2f82a |