| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301 |
- #!/bin/bash
- ## >>> general
- export PS1='\[\033[1;36m\][\[\033[1;34m\]\u\[\033[1;33m\]@\[\033[1;32m\]\h:\[\033[1;35m\]\w\[\033[1;36m\]]\[\033[1;31m\]\\$\[\033[0m\] '
- export PATH=~/.tfenv/bin:$PATH
- #export PATH=~/.local/bin:$PATH
- export EDITOR=vim
- export HISTCONTROL=ignoreboth:erasedups
- #export PATH=/mnt/c/Users/jan.diller/AppData/Local/Programs/Rancher\ Desktop/resources/resources/linux/bin:$PATH
- # ---------------------------------------------------------------------------------------------------
- alias jb='cd "${CC_PATH}"'
- alias l1='ls -1a'
- alias qm="xargs -rI{} mv '{}'"
- alias rr='rm -Rf'
- alias xi='xsel -bi'
- alias xo='xsel -bo'
- alias cls='clear'
- alias fdg='find . -type d | grep'
- alias ffg='find . -type f | grep'
- alias lsd="find . -maxdepth 1 -type d -not -path '*/.terraform*' -not -path '*/.git*'"
- alias oany='code "$(find -maxdepth 1 -type f | head -n 1)"'
- alias tickets="xsel -bo | grep -E '^(A|D|M)\s' | rev | cut -d '/' -f 2-99 | rev | cut -d$'\t' -f 2-99 | sort -u"
- alias globTrim="find . -type f -not -path '*/.terraform*' -not -path '*/.git*' | xargs -rI{} sed -i '{}' -e 's|[ ]*$||g'"
- function cc(){
- local cc_path="$(find . -type d -maxdepth 3 -not -path '*/.terraform*' -not -path '*/.git*' 2>/dev/null | xargs -rI{} bash -c 'echo -e "0\t../../..\n$(echo "{}" | tr -cd '/' | wc -c)\t{}"' | sort -u | cut -d$'\t' -f 2 | grep -Ei "$(echo "$@" | tr -s ' ' | sed -E 's| |\.*|g')" | nl -i1 -n'rz' -v0 -w3 | fzf | cut -d$'\t' -f 2)"
- cc_path="${PWD}/${cc_path}"
- export CC_PATH="${cc_path}"
- cd "${CC_PATH}";
- }
- function cf(){
- local cc_path="$(find . -type f -maxdepth 4 -not -path '*/.terraform*' -not -path '*/.git*' 2>/dev/null | xargs -rI{} bash -c 'echo -e "0\t../../..\n$(echo "{}" | tr -cd '/' | wc -c)\t{}"' | sort -u | cut -d$'\t' -f 2 | grep -Ei "$(echo "$@" | tr -s ' ' | sed -E 's| |\.*|g')" | nl -i1 -n'rz' -v0 -w3 | fzf | cut -d$'\t' -f 2)"
- cc_path=$(printf "${cc_path}" | rev | cut -d '/' -f 2-99 | rev)
- cc_path="${PWD}/${cc_path}"
- export CC_PATH="${cc_path}"
- cd "${CC_PATH}";
- }
- function ccb(){
- local cc_file="$(find . -type f -not -path '*/.terraform*' -not -path '*/.git*' 2>/dev/null | xargs -rI{} bash -c 'echo -e "0\t../../..\n$(echo "{}" | tr -cd '/' | wc -c)\t{}"' | sort -u | cut -d$'\t' -f 2 | grep -Ei "$(echo "$@" | tr -s ' ' | sed -E 's| |\.*|g')" | nl -i1 -n'rz' -v0 -w3 | fzf | cut -d$'\t' -f 2)"
- cc_file="${PWD}/${cc_file}"
- printf "'%s'" "${cc_file}" | xsel -bi
- }
- function diffho {
- while IFS= read res; do
- local head="${res}"
- local origin=$(echo "${res}" | sed 's|head|origin|g')
- diff -x '.git' -ruN "${origin}" "${head}"
- done < <(eval 'ls -1 | grep -E head$ | xargs -rI{} find '{}' -type f -not -path '*/.terraform*' -not -path '*/.git*' | sort -u | '"${1}"'')
- }
- function logall() {
- local all="$1"
- local err="$2"
- shift 2
- "$@" > >(tee "$all") 2> >(tee "$err" | tee -a "$all" >&2)
- }
- function mh(){
- local opts=$(cat << EOF
- dck :: . ______________
- dckab :q: docker run -u "$(id -u):$(id -g)" -it --rm -v "\${PWD}":/documents acdc /bin/bash
- dckar :: docker build -t acdc ~/dev/docker-doc/head
- dckar :q: docker run --rm -u $(id -u):$(id -g) -v $(pwd):/documents/ asciidoctor/docker-asciidoctor asciidoctor-pdf '${1}'
- dckst :q: sudo /usr/sbin/service docker start
- ecf :: . ______________
- ecf :: code ~/.aws/config ~/.aws/credentials
- ecf :: code ~/.local/bin/bashrc_extension.sh
- ecf :: code ~/.local/bin/envaws
- ecf :: code ~/.local/bin/git
- ecf :: code ~/.local/bin/terraform
- fnd :: . ______________
- fnd :: find -L . -type f -not -path '*/.terraform*' -not -path '*/.git*' | xargs -rI{} file "{}" | grep ASCII | cut -d ":" -f 1 | xargs -rI{} grep -EH '^' '{}'
- fnd :: find . -type f | grep -E '#Untitled.*|\.marks$' | xargs -rI{} rm -v '{}'
- fndac :: find -L . -type f -not -path '*/.terraform*' -not -path '*/.git*' | xargs -rI{} file "{}" | grep ASCII | cut -d ":" -f 1 | sort -u --version-sort | xargs -rI{} grep -EH '^' '{}' >../$(pwd | sed -E 's|.*/(.*)|\1_allCnt\.txt|g')
- nxtcld :: . ______________
- nxtcld :q: nextcloud >/dev/null 2>&1 &
- oth :: . ______________
- oth :: . ~/.bashrc
- oth :: find -type f | grep -E '\.jr$|plan\.txt|state\.yaml' | xargs rm -f
- oth :q: while IFS= read res; do code "\${res}"; done < <(find | grep -F '_overview.adoc' | xargs -rI{} grep -EH '=== done' '{}' | grep '\-\-\-' | cut -d ':' -f 1)
- oth :: sed -i -r 's/\x1B\[([0-9]{1,3}(;[0-9]{1,2};?)?)?[mGK]//g' "${1}"
- oth :: vi ~/.local/bin/bashrc_extension.sh
- oth :q: cp \$(winpath '${1}') .
- penv :: . ______________
- penv :: cat ~/.local/env.txt
- rdc :: . ______________
- rdc :: sudo /etc/init.d/xrdp start
- EOF
- )
- local selOpt=$(echo "${opts}" | grep -vE '^##' | nl -i1 -n'rz' -v0 -w3 | sort -ru | fzf)
- if [ "${selOpt}" == "" ]; then
- echo ">>>>>>> nothing selected, cancel ..."
- return
- fi
- mode=$( echo "${selOpt}" | sed -E 's/(^.*)([ ]*)(:[a-z]?:)([ ]*)(.*$)/\3/g' )
- selOpt=$( echo "${selOpt}" | sed -E 's/(^.*)([ ]*)(:[a-z]?:)([ ]*)(.*$)/\5/g' )
- case $mode in
- ":q:")
- echo ">>>>>>> ${selOpt}"
- history -s "${selOpt}"
- eval "${selOpt}"
- ;;
- *)
- echo ">>>>>>> ${selOpt} '$@'"
- history -s "${selOpt} '$@'"
- history -s "mh '$@'"
- eval "${selOpt} '$@'"
- ;;
- esac
- }
- function ord() {
- printf "&#%d;" "\"$1";
- }
- function ppp(){
- local opts=$(cat << EOF
- dcycpbd :q: xsel -bo | gpg --decrypt | xsel -bi
- dcyfle :q: $(printf "gpg --decrypt '%s'" "${1}" )
- dcyfle :q: $(printf "gpg --output '%s' --decrypt '%s'" $(echo "${1}" | rev | cut -d '.' -f 2-99 | rev) "${1}" )
- enccpbd :q: xsel -bo | gpg --encrypt --armor --recipient '%s' | xsel -bi
- enccpbdsgn :q: xsel -bo | gpg --encrypt --armor --sign --recipient '%s' | xsel -bi
- encfle :q: $(printf "gpg --encrypt --armor --recipient '%%s' '%s'" "${1}")
- encflesgn :q: $(printf "gpg --encrypt --armor --sign --recipient '%%s' '%s'" "${1}")
- exppbl :q: $(printf 'gpg --armor --export %%s >%s.pbl.asc' "${1}" )
- expprv :q: $(printf 'gpg --armor --export-secret-keys %%s >%s.prv.asc' "${1}" )
- keycrt :q: gpg --full-generate-key
- keyimp :q: $(printf 'gpg --import %s' "${1}" )
- keylst :q: gpg --list-keys
- keysgn :q: gpg --sign-key '%s'
- EOF
- )
- ## ## Import des eignen privaten Schlüssels
- ## Gib gpg --edit-key DEINE_EMAIL ein.
- ## * Tippe den Befehl trust.
- ## * Wähle die Stufe 5 (5 = I trust ultimately / Ich vertraue ultimativ).
- ## * Bestätige mit y (Ja) und beende mit save oder quit.
- local selOpt=$(echo "${opts}" | grep -vE '^##' | nl -i1 -n'rz' -v0 -w3 | sort -ru | fzf)
- if [ "${selOpt}" == "" ]; then
- echo ">>>>>>> nothing selected, cancel ..."
- return
- fi
- selOpt=$(echo "${selOpt}" | tr '\t' ' ' | tr -s ' ')
- prfx=$( echo "${selOpt}" | cut -d ' ' -f 2 )
- mode=$( echo "${selOpt}" | cut -d ' ' -f 3 )
- selOpt=$( echo "${selOpt}" | cut -d ' ' -f 4-999 )
- swt=$( echo "${prfx:0:3}" )
- usr=''
- case "${prfx}" in
- expprv|exppbl|encfle|encflesgn)
- if [[ -z "$1" ]]; then echo "Fehler: Parameter 1 fehlt" >&2; return 1; fi;
- usr=$(echo "$(gpg --list-keys | grep uid | xargs -rI{} echo '{}' | tr -s ' ' | cut -d '<' -f 2 | sed 's/.$//')" | fzf)
- selOpt=$(printf "${selOpt}" "${usr}")
- ;;
- keyimp)
- if [[ -z "$1" ]]; then echo "Fehler: Parameter 1 fehlt" >&2; return 1; fi;
- ;;
- enccpbd|enccpbdsgn|keysgn)
- usr=$(echo "$(gpg --list-keys | grep uid | xargs -rI{} echo '{}' | tr -s ' ' | cut -d '<' -f 2 | sed 's/.$//')" | fzf)
- selOpt=$(printf "${selOpt}" "${usr}")
- ;;
- *)
- ;;
- esac
- echo "${usr}"
- echo ">>>>>>> ${selOpt}"
- eval "${selOpt}"
- }
- function qcat {
- local file=$(find . -type f -not -path '*/.terraform*' -not -path '*/.git*' | grep -iE "${1}" | fzf)
- cmd=$(printf "cat '%s'" "${file}")
- eval "${cmd}"
- }
- function qrun {
- eval $(cat "${1}" | grep -vE '^#' | sort -u | nl -w 3 -n 'rz' | sort -r | fzf | sed -E 's|^[0-9\t]+||g')
- }
- alias qvi='vi "$(find . -type f | fzf)"'
- function qcode (){
- local selOpt=$(eval $(printf "find . -type f -not -path '*/.terraform*' -not -path '*/.git*' | grep -Ev '\.(pem|pub)$' | grep -E '%s' | fzf" "${1:-.*}"))
- if [ "${selOpt}" == "" ]; then
- echo ">>>>>>> nothing selected, cancel ..."
- return
- fi
- echo ">>>>>>> code ${selOpt}"
- history -s "code ${selOpt}"
- eval "code ${selOpt}"
- }
- function stack() {
- local depot="${HOME}/depot"
- if [[ $# -ne 1 ]]; then
- echo "Usage: stack {pull|push|purge}"
- return 1
- fi
- case "$1" in
- push)
- echo "Stack: push"
- src=$(ls -1 | fzf)
- prfx=$(date +"%Y%m%d%H%M%S")
- echo ">>> ${prfx}"
- echo ">>> ${src}"
- if [[ -n "$src" ]]; then tar -czvf "${depot}/${prfx}_${src}.tgz" "${src}"; fi
- ;;
- pull)
- echo "Stack: pull"
- src=$(ls -1 "${depot}" | fzf)
- echo ">>> ${src}"
- trg=$(echo "${src}" | cut -d '_' -f 2 | rev | cut -d '.' -f 2 | rev)
- echo ">>> ${trg}"
- if [[ -n "$src" ]]; then tar -xzvf "${depot}/${src}" --strip-components=1; fi
- ;;
- purge)
- echo "Stack: purge"
- src=$(ls -1 "${depot}" | fzf)
- echo ">>> ${src}"
- if [[ -n "$src" ]]; then rm -Rfv "${depot}/${src}"; fi
- ;;
- *)
- echo "Ungültiger Parameter: $1"
- return 1
- ;;
- esac
- }
- function goto(){
- local opts=$(cat << EOF
- aws :: cd ~/.aws
- bin :: cd ~/.local/bin
- code :: cd ~/dev/condor/bitbucket/AWS
- lcmdl :: cd ~/lcmodules_local/head
- mount_wsl :: cd /mnt/c/Dev/WSL
- tickets :: cd ~/dev/condor/Tickets/head
- twins :: cd ~/twins
- ## -----------------------------------------
- cd_gambit :: cd ~/dev/condor/bitbucket/AWS/aws-infra-Gambit/head/condor-gambit-infra
- EOF
- )
- local lnOpts=$(echo "${opts}" | grep -vE '^#' | grep -E "$(echo "$@" | tr -s ' ' | sed -E 's| |\.*|g')" | nl -i1 -n'rz' -v0 -w3)
- local selOpt=$(echo "${lnOpts}" | sort -ru | sed -E 's|(.*::)(.*##)(.*)|\1\3|g' | grep -iE "${1}" | fzf | sed -E 's|(^[0-9]+)(.*)|\1|g')
- selOpt=$(if [ "${selOpt}" == "" ]; then echo ""; else echo "${lnOpts}" | grep -E "^${selOpt}"; fi)
- if [ "${selOpt}" == "" ]; then
- echo ">>>>>>> nothing selected, cancel ..."
- return
- fi
- selOpt=$( echo "${selOpt}" | sed -E 's/(^.*)[ ]*::[ ]*(.*$)/\2/g' )
- echo ">>>>>>> ${selOpt}"
- eval "${selOpt}"
- }
- function winpath () {
- base=$(echo "${1}" | sed -E 's|\\|/|g')
- drive=$(echo "${base}" | cut -d ':' -f 1 | tr '[:upper:]' '[:lower:]')
- drive=$(echo "/mnt/${drive}")
- path=$(echo "${base}" | cut -d ':' -f 2)
- echo "${drive}${path}"
- }
- ## <<< general
- ## -----------------------------------------------------------------------------
- . ~/.local/bin/envaws
- . ~/.local/bin/git
- . ~/.local/bin/clouddk
|