ajout de base.tools

This commit is contained in:
Jephté Clain 2023-12-05 19:11:43 +04:00
parent 5afd3f6666
commit 2b10acacb2
2 changed files with 66 additions and 1 deletions

View File

@ -15,7 +15,8 @@ fi
##@include base.split.sh
##@include base.path.sh
##@include base.args.sh
##@include base.tools.sh
##@include base.input.sh
##@include base.output.sh
module: base "Chargement de tous les modules base.*"
require: base.init base.core base.str base.num base.bool base.array base.split base.path base.args base.input base.output
require: base.init base.core base.str base.num base.bool base.array base.split base.path base.args base.tools base.input base.output

64
bash/src/base.tools.sh Normal file
View File

@ -0,0 +1,64 @@
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
##@cooked nocomments
module: base.tools "Fonctions de base: outils divers"
function __la_cmd() {
[ $# -gt 0 ] || set '*'
local arg
local cmd="/bin/ls -1d"
for arg in "$@"; do
arg="$(qwc "$arg")"
cmd="$cmd $arg"
done
cmd="$cmd 2>/dev/null"
echo "$cmd"
}
function: ls_all 'Lister les fichiers ou répertoires du répertoire $1, un par ligne
Les répertoires . et .. sont enlevés de la liste
$1=un répertoire dont le contenu doit être listé
$2..@=un ensemble de patterns pour le listage'
function ls_all() {
local curdir="$(pwd)"
local b="${1:-.}"; shift
cd "$b" 2>/dev/null || return
eval "$(__la_cmd "$@")" | while read f; do
[ "$f" == "." -o "$f" == ".." ] && continue
recho "$f"
done
cd "$curdir"
}
function: ls_files 'Lister les fichiers du répertoire $1, un par ligne
$1=un répertoire dont le contenu doit être listé.
$2..@=un ensemble de patterns pour le listage'
function ls_files() {
local f
local curdir="$(pwd)"
local b="${1:-.}"; shift
cd "$b" 2>/dev/null || return
eval "$(__la_cmd "$@")" | while read f; do
[ -f "$f" ] && recho "$f"
done
cd "$curdir"
}
function: ls_dirs 'Lister les répertoires du répertoire $1, un par ligne
Les répertoires . et .. sont enlevés de la liste
$1=un répertoire dont le contenu doit être listé.
$2..@=un ensemble de patterns pour le listage'
function ls_dirs() {
local f
local curdir="$(pwd)"
local b="${1:-.}"; shift
cd "$b" 2>/dev/null || return
eval "$(__la_cmd "$@")" | while read f; do
[ "$f" == "." -o "$f" == ".." ] && continue
[ -d "$f" ] && recho "$f"
done
cd "$curdir"
}