ACK is a code-searching tool, similar to grep but optimized for programmers searching large trees of source code.
- Multi-process search
- Exclude specific paths and patterns
- ANSI color-coded output
- Search in symlinks (Python >= 2.6 only)
- Execution statistics
Options
- --num-processes, -n: Number of processes to use (default: 4).
- --exclude-path, -x: Exclude paths matching EXCLUDE_PATH_PATTERN.
- --follow-links, -f: Follow symlinks (Python >= 2.6 only).
- --exclude-search, -s: Exclude results matching EXCLUDE_PATTERN.
- --no-colors, -c: Don't print ANSI colors like ACK tool.
- --statistics, -t: On final print execution statistics.
After install you can run it simply writing
python-ack <params>Search:
python -m python_ack "apple" /path/to/search // or python-ack "apple" /path/to/searchHelp:
python -m python_ack --help // or python-ack --helpusage: python-ack [-h] [--num-processes NUM_PROCESSES] [--exclude-path EXCLUDE_PATH_PATTERN] [--follow-links] [--exclude-search EXCLUDE_PATTERN] [--no-colors] [--statistics] PATTERN [DIRECTORY] Python-ACK is a code-searching tool, similar to grep but optimized for programmers searching large trees of source code. positional arguments: PATTERN Pattern to search for. DIRECTORY A directory to search. options: -h, --help show this help message and exit --num-processes NUM_PROCESSES, -n NUM_PROCESSES Number of processes to use. --exclude-path EXCLUDE_PATH_PATTERN, -x EXCLUDE_PATH_PATTERN Exclude paths matching EXCLUDE_PATH_PATTERN. --follow-links, -f Follow symlinks (Python >= 2.6 only). --exclude-search EXCLUDE_PATTERN, -s EXCLUDE_PATTERN Exclude results matching EXCLUDE_PATTERN. --no-colors, -c Don't print ANSI colors like ACK tool. --statistics, -t On final print excecution statistics. The ack class in Python-ACK has several attributes that allow you to customize the behavior of the search tool. Here's a brief description of each attribute:
- path: The path to the directory where the search will be performed.
- regexp: The regular expression pattern to search for in files.
- num_processes: Number of processes to use for the multi-process search (default: 4).
- exclude_paths_regexp: A list of regular expressions to exclude paths from the search.
- follow_links: Boolean flag indicating whether to follow symbolic links (Python >= 2.6 only).
- exclude_regexp: A list of regular expressions to exclude results matching specific patterns in files.
- use_ansi_colors: Boolean flag indicating whether to use ANSI colors in the output.
- search_function: Custom search function to be used for searching in files.
- return_as_dict: Boolean flag indicating whether to return the result as a dictionary.
from python_ack.ack import ack def main(): folder = "/path/to/search" instance = ack( path=folder, regexp="apple", exclude_regexp=["solor"], num_processes=10, exclude_paths_regexp=["exclude_*"], follow_links=False, use_ansi_colors=False ) instance.process_folders() instance.print_result() duration = instance.get_duration() if duration is not None: print(f"\nComplete in {duration}ms.") if __name__ == "__main__": main()Click sections to expand.
Command-line commands
In root folder run pip install -e .
cd /tests python test.pypython -m python_ack- Author: Anton Sychev
- Email: anton@sychev.xyz
This project is licensed under the MIT License - see the LICENSE file for details.
Make sure to replace "/path/to/search" with your actual path. You can also customize the badges, add more sections, and provide more details based on your project's needs.
Click sections to expand.
Command-line commands
Local:
python -m pip install build twine python3 -m build twine check dist/* twine upload dist/*Live: No need do nothing GitHub have Workflow action its publish auto