améliorer ls_*

This commit is contained in:
Jephté Clain 2024-02-10 15:05:39 +04:00
parent 537263216e
commit 41f217fd76
1 changed files with 44 additions and 31 deletions

View File

@ -22,49 +22,62 @@ function __la_cmd() {
function: ls_all 'Lister les fichiers ou répertoires du répertoire $1, un par ligne 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 Les répertoires . et .. sont enlevés de la liste
$1=un répertoire dont le contenu doit être listé $1=un répertoire dont le contenu doit être listé
$2..@=un ensemble de patterns pour le listage' $2..@=un ensemble de patterns pour le listage
function ls_all() {
local curdir="$(pwd)"
local b="${1:-.}"; shift
cd "$b" 2>/dev/null || return Seuls les noms des fichiers sont listés. Utiliser l'\''option -p pour inclure
eval "$(__la_cmd "$@")" | while read f; do les chemins'
[ "$f" == "." -o "$f" == ".." ] && continue function ls_all() {
recho "$f" local withp f b
done if [ "$1" == -p ]; then withp=1; shift; fi
cd "$curdir" b="${1:-.}"; shift
(
cd "$b" || exit
eval "$(__la_cmd "$@")" | while read f; do
[ "$f" == "." -o "$f" == ".." ] && continue
recho "${withp:+$b/}$f"
done
)
} }
function: ls_files 'Lister les fichiers du répertoire $1, un par ligne function: ls_files 'Lister les fichiers du répertoire $1, un par ligne
$1=un répertoire dont le contenu doit être listé. $1=un répertoire dont le contenu doit être listé.
$2..@=un ensemble de patterns pour le listage' $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 Seuls les noms des fichiers sont listés. Utiliser l'\''option -p pour inclure
eval "$(__la_cmd "$@")" | while read f; do les chemins'
[ -f "$f" ] && recho "$f" function ls_files() {
done local withp f b
cd "$curdir" if [ "$1" == -p ]; then withp=1; shift; fi
b="${1:-.}"; shift
(
cd "$b" || exit
eval "$(__la_cmd "$@")" | while read f; do
[ -f "$f" ] && recho "${withp:+$b/}$f"
done
)
} }
function: ls_dirs 'Lister les répertoires du répertoire $1, un par ligne function: ls_dirs 'Lister les répertoires du répertoire $1, un par ligne
Les répertoires . et .. sont enlevés de la liste Les répertoires . et .. sont enlevés de la liste
$1=un répertoire dont le contenu doit être listé. $1=un répertoire dont le contenu doit être listé.
$2..@=un ensemble de patterns pour le listage' $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 Seuls les noms des répertoires sont listés. Utiliser l'\''option -p pour
eval "$(__la_cmd "$@")" | while read f; do inclure les chemins'
[ "$f" == "." -o "$f" == ".." ] && continue function ls_dirs() {
[ -d "$f" ] && recho "$f" local withp f b
done if [ "$1" == -p ]; then withp=1; shift; fi
cd "$curdir" b="${1:-.}"; shift
(
cd "$b" || exit
eval "$(__la_cmd "$@")" | while read f; do
[ "$f" == "." -o "$f" == ".." ] && continue
[ -d "$f" ] && recho "${withp:+$b/}$f"
done
)
} }
function: quietgrep "tester la présence d'un pattern dans un fichier en mode silencieux" function: quietgrep "tester la présence d'un pattern dans un fichier en mode silencieux"