rexturl
A versatile command-line tool for parsing and manipulating URLs.
Features
- Extract specific URL components (scheme, username, host, port, path, query, fragment)
- Custom output formatting
- JSON output support
- Sorting and deduplication of results
- Process multiple URLs from command line or stdin
Installation
or clone the repository and build from source:
Usage
If no URLs are provided, rexturl will read from stdin.
Options
--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
Examples
-
Extract all components from a single URL:
-
Extract host and port from multiple URLs:
-
Process URLs from a file, extracting paths and sorting results:
| -
Use custom output format:
-
Output results in JSON format:
-
Sort and deduplicate results:
|
Custom Output Format
When using --custom and --format, you can use the following placeholders:
{scheme}{username}{host}{domain}{port}{path}{query}{fragment}
Example:
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.