Crates.io | rexturl |
lib.rs | rexturl |
version | 0.3.2 |
source | src |
created_at | 2022-09-16 13:09:55.671937 |
updated_at | 2024-09-18 18:16:52.911707 |
description | A simple tool to split urls in their protocol, host, port, path and query parts. |
homepage | https://github.com/vschwaberow/rexturl.git |
repository | https://github.com/vschwaberow/rexturl.git |
max_upload_size | |
id | 667341 |
size | 22,486 |
A versatile command-line tool for parsing and manipulating URLs.
cargo install rexturl
or clone the repository and build from source:
git clone https://github.com/vschwaberow/rexturl.git
cd rexturl
cargo build --release
rexturl [OPTIONS] [URLS...]
If no URLs are provided, rexturl will read from stdin.
--urls <URLS>
Input URLs to process
--scheme
Extract and display the URL scheme
--username
Extract and display the username from the URL
--host
Extract and display the hostname
--port
Extract and display the port number
--path
Extract and display the URL path
--query
Extract and display the query string
--fragment
Extract and display the URL fragment
--sort
Sort the output
--unique
Remove duplicate entries from the output
--json
Output results in JSON format
--all
Display all URL components
--custom
Enable custom output mode
--domain
Extract the domain
--format <FORMAT>
Custom output format (default: "{scheme}://{host}{path}")
-h
, --help
Print help information
-V
, --version
Print version information
Extract all components from a single URL:
rexturl --all https://user:pass@example.com:8080/path?query=value#fragment
Extract host and port from multiple URLs:
rexturl --host --port https://example.com https://api.example.com:8443
Process URLs from a file, extracting paths and sorting results:
cat urls.txt | rexturl --path --sort
Use custom output format:
rexturl --custom --format "{scheme}://{host}:{port}{path}" https://example.com:8080/api
Output results in JSON format:
rexturl --json --all https://example.com https://api.example.com
Sort and deduplicate results:
echo -e "https://example.com\nhttps://example.com\nhttps://api.example.com" | rexturl --host --sort --unique
When using --custom
and --format
, you can use the following placeholders:
{scheme}
{username}
{host}
{domain}
{port}
{path}
{query}
{fragment}
Example:
rexturl --custom --format "Host: {host}, Path: {path}"
https://example.com/api
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.