topalias - Linux alias generator from bash/zsh command history with statistics, written on Python.
- Generate short alias for popular command from bash/zsh shell history
 - Command history statistics & analytics
 - Parametrised input
 - Console help for all commands, options and arguments
 - Shell workflow hints
 
From pypi.org repository:
pip3 install -U --user topaliasFrom source:
git clone https://github.com/CSRedRat/topalias
python3 topalias/setup.py install --userRun as python script without install:
git clone https://github.com/CSRedRat/topalias
python3 topalias/topalias/cli.py -hsudo apt install python3 python3-pip -yAdd PATH environment variable for run Python tools as Linux utility:
echo "export PATH=$PATH:$HOME/.local/bin" >> ~/.bashrc
source ~/.bashrcWithout parameters utility check if you use alias in ~/.bash_aliases - analyze and print usage statistics, then find new simple aliases
python3 -m topalias  # run as python module
topalias  # check aliases and print suggestion bash command history
topalias -h  # print help
topalias --zsh  # work with zsh shell command history
topalias --min=2  # set minimal length for generated acronym filter, so that exclude some short command and find long, hard, usable command
topalias --debug history  # only analyze local bash history and print filtered rowsFiles path search order:
- directory from execution parameter
 - .bash_history in . current directory
 - .bash_history in ~ user home directory
 - example development files in topalias/data
 
You can change dot files search path to another user home directory:
topalias -f /home/user  # or topalias --path /home/userAlso you can use topalias utility in Bash for Git on Windows and in WSL.
Usage: topalias [OPTIONS] COMMAND [ARGS]
Options:
  -l, --min INTEGER     Print alias acronym not less that value. Default: 1
  -c, --count INTEGER   Print specified number acronym suggestions. Default:
                        20
  --filter              Filter used aliases in history. Default: False
  -z, --zsh             Use zsh shell history file .zsh_history. Default:
                        False
  -f, --path TEXT       Change custom directory for files: .bash_aliases,
                        .bash_history, .zsh_history
  --version             Print current program version and check latest on
                        pypi.org.
  --debug / --no-debug  Enable debug strings in output.
  -h, --help            Show this message and exit.
Commands:
  hint     Print all hints.
  history  Print bash history file.
  version  Get program current and available version.
- check if alias name already used
 - check if alias already added
 - add any another acronym algorithm with semantic
 - more statistics & analytics (used dir, utils, parameters, time)
 - alias max length parameter
 - command ignore list flag: top, emacs, vim
 - often used command "ssh username@servername" suggest add to .ssh/config/
 
Thanks goes to these wonderful people (emoji key):
Sergey Chudakov 💻 🚇 🤔 🚧 📦  | 
    Sergey Morozik 🚧 📦💻  | 
  
GitLab repository mirror with CI/CD: https://gitlab.com/CSRedRat/topalias
