From 9f91ee165429554b904c228ed2e79f4ddb2be06f Mon Sep 17 00:00:00 2001 From: Ville Rantanen Date: Wed, 26 Apr 2017 09:06:06 +0300 Subject: [PATCH] searchCD, fastdu upgrade, whatismyip.. try out! --- bin/whatismyip | 1 + files/fastdu | 38 ++++++++++++++++++++++++++++---------- qcd_function | 18 ++++++++++++++++++ web/whatismyip | 23 +++++++++++++++++++++++ 4 files changed, 70 insertions(+), 10 deletions(-) create mode 120000 bin/whatismyip create mode 100755 web/whatismyip diff --git a/bin/whatismyip b/bin/whatismyip new file mode 120000 index 0000000..f28b768 --- /dev/null +++ b/bin/whatismyip @@ -0,0 +1 @@ +../web/whatismyip \ No newline at end of file diff --git a/files/fastdu b/files/fastdu index 1702de8..53229bd 100755 --- a/files/fastdu +++ b/files/fastdu @@ -4,6 +4,7 @@ function helpexit() { echo "Display file/folder sizes like 'du', but faster and actual byte sizes" echo "Returns only the size as number" echo " -h Human readable units" + echo " -s Summary mode, otherwise each argument folder calculated separate" echo " --help This help" exit } @@ -26,14 +27,31 @@ function filesize { }' || return $? } -[[ -z "$1" ]] && what="." -[[ "$1" = "-h" ]] && { HUMAN=1; shift 1; } -[[ "$1" = "--help" ]] && helpexit - -SIZE=$( find $what "$@" -type f -printf %s"\n" | awk '{ sum += $1 } END { print int(sum)+0 }' ) - -[[ "$HUMAN" -eq 1 ]] && { - filesize "$SIZE" - exit +function displaysize() { + SIZE=$( find "$@" -type f -printf %s"\n" | awk '{ sum += $1 } END { print int(sum)+0 }' ) + [[ "$HUMAN" -eq 1 ]] && { + SIZE=$( filesize "$SIZE" ) + } + echo "$SIZE" } -echo $SIZE + +# Get options +what=() +for (( i=1; i<=$#; i++ )); do + [[ "${!i}" = "--help" ]] && helpexit + [[ "${!i}" = "-h" ]] && { HUMAN=1; continue; } + [[ "${!i}" = "-s" ]] && { SUMMARY=1; continue; } + what+=( "${!i}" ) +done +[[ -z "${what[@]}" ]] && what="." + +if [[ "$SUMMARY" -eq 1 ]]; then + # Display one line + displaysize "${what[@]}" +else + # One size for each argument + for dir in "${what[@]}"; do + printf "%s\t%s\n" "$( displaysize "$dir" )" "$dir" + done +fi + diff --git a/qcd_function b/qcd_function index 1f52624..026e22c 100644 --- a/qcd_function +++ b/qcd_function @@ -209,6 +209,24 @@ function ncd() { fi } +function scd() { + # search cd, find first recursively match in a folder + [[ "$1" = "-h" ]] && { + echo Search cd. First argument path to search, optionally second argument where to search from. + return + } + local cdto cdfrom + [[ -z "$2" ]] && { + cdfrom="." + } || { + cdfrom="$2" + } + cdto=$( find "$cdfrom" -mindepth 1 -type d -iname "*$1*" | sort -V | head -n 1 ) + echo $cdto + [[ -z "$cdto" ]] && return + \cd "$cdto" +} # scd ends + ## File processing functions function foldermenu_prompt { diff --git a/web/whatismyip b/web/whatismyip new file mode 100755 index 0000000..ec634ad --- /dev/null +++ b/web/whatismyip @@ -0,0 +1,23 @@ +#!/bin/bash + + +function helpexit() { + echo "Print your public internet IP address." + echo "-n return as host name." + exit +} +for (( i=1; i<=$#; i++ )); do + [[ "${!i}" = "--help" ]] && helpexit + [[ "${!i}" = "-h" ]] && helpexit + [[ "${!i}" = "-n" ]] && { NAME=1; continue; } +done + + +IP=$( dig +short myip.opendns.com @resolver1.opendns.com ) + +if [[ "$NAME" -eq 1 ]]; then + dig +short -x "$IP" +else + echo $IP +fi +