72 lines
1.6 KiB
Markdown
72 lines
1.6 KiB
Markdown
# Bautils
|
|
|
|
> **Bauke's Ad-hoc Utilities.**
|
|
|
|
## Commands
|
|
|
|
### Arguments
|
|
|
|
```sh
|
|
fruits=("apple" "banana" "coconut")
|
|
bautils arguments count -- $fruits
|
|
# Outputs: 3
|
|
```
|
|
|
|
### Date
|
|
|
|
```sh
|
|
# Outputs the current date with the ISO 8601 format.
|
|
bautils date now
|
|
|
|
# Set a custom format using `-f` or `--format`.
|
|
bautils date now -f '%F %T'
|
|
```
|
|
|
|
### Directory
|
|
|
|
```sh
|
|
# Checks whether a directory exists, returning an exit code of 1
|
|
# when it doesn't. This specifically checks for a directory so if
|
|
# a path exists but it isn't a directory this will also return 1.
|
|
bautils directory exists 'source'
|
|
```
|
|
|
|
### File
|
|
|
|
```sh
|
|
# Checks whether a file exists, with the same logic as the
|
|
# `directory exists` command.
|
|
bautils file exists 'Cargo.toml'
|
|
|
|
# Returns metadata of a file, for example `--modified` returning
|
|
# when the file was last modified.
|
|
bautils file metadata 'Cargo.toml' --modified
|
|
|
|
# Returns parts of a file name.
|
|
bautils file parts 'source/main.rs' --directory # Outputs: source
|
|
bautils file parts 'source/main.rs' --basename # Outputs: main
|
|
bautils file parts 'source/main.rs' --extension # Outputs: rs
|
|
```
|
|
|
|
### Log
|
|
|
|
```sh
|
|
# Logs data to a file, creating the file if it doesn't exist.
|
|
bautils log -- 'The data to log!'
|
|
|
|
# The log file can be specified with `-f` or `--file`.
|
|
bautils log -f 'logfile.txt' -- 'More data!'
|
|
```
|
|
|
|
### Match
|
|
|
|
```sh
|
|
# Matches a regular expression, returning an exit code of 1 if it
|
|
# is succesful.
|
|
bautils match regex --pattern '\d' '123'
|
|
```
|
|
|
|
## License
|
|
|
|
Distributed under the [AGPL-3.0-or-later](https://spdx.org/licenses/AGPL-3.0-or-later.html) license, see [LICENSE](https://git.bauke.xyz/Bauke/bautils/src/branch/main/LICENSE) for more information.
|