un du un peu interactif grâce à fzy - retour accueil
git clone git://bebou.netlib.re/fdu
Log | Files | Refs | README |
commit 93dfd2c7829ffd49a9d756dc7038fa230b9e1b19 parent 8df093c1bb2cbaa3305479ffe81035b6d220f611 Auteurice: Arthur Pons <arthur.pons@unistra.fr> Date: Sun, 27 Oct 2024 19:51:19 +0100 Ajout d'un makefile Le saviez vous ? gmake a des règles implicites pour construire des scripts shell comme pour les programmes en C. Si un fichier `machin.sh` existe et la cible `machin` doit être créé gmake créera automatiquement le script `machin` en le rendant exécutable. Diffstat:
A | fdu.sh | | | 42 | ++++++++++++++++++++++++++++++++++++++++++ |
A | makefile | | | 9 | +++++++++ |
2 files changed, 51 insertions(+), 0 deletions(-)
diff --git a/fdu.sh b/fdu.sh @@ -0,0 +1,42 @@ +#! /bin/sh + +VERSION="0.2" + +help() <<\% cat +Un du un peu interactif pour un semblant de qdirstat (ou ncdu etc) + +Usage : fdu [chemin] + +Le chemin par défaut est le repertoire courant + +Naviguer avec les flèches +Entrée pour selectionner un dossier ou un fichier +Pour le moment rien n'est fait quand on sélection un fichier +% + +tmpd=$(mktemp -d) +trap "rm -rf $tmpd;exit 0" INT QUIT EXIT + +case "${1}" +in ( -h | --help ) help ; exit +;; ( -v | --version ) echo "clidirstats $VERSION" ; exit +;; (*) + cur=$(cd "${1:-.}" && pwd) + while [ "$cur" != "quit" -a -d "$cur" ];do + tmpf=$(printf "%s" "$cur" | tr '/' '-') + if [ -f "$tmpd/$tmpf" ]; then + list=$(cat "$tmpd/$tmpf") + else + list=$(du -a -d 1 -h "$cur" | sort -hr | sed -E "s,$cur$,total,") + printf "%s" "$list" > $tmpd/$tmpf + fi + cur=$(printf "quit\nprev %s\n%s" "${cur%/*}" "$list" | fzy -l 20 | cut -f2) + done + + if [ ! -e "$cur" ];then + printf "%s" "Selected item not a file, exiting"; exit 1 + else + printf "%s is a file, what do you want to do ?\n" "$cur" + fi +esac + diff --git a/makefile b/makefile @@ -0,0 +1,9 @@ +DEST=/usr/local/bin/ + +all: fdu + +install: + cp fdu ${DEST} + +uninstall: + rm ${DEST}/fdu