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
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
$2..@=un ensemble de patterns pour le listage
cd "$b" 2>/dev/null || return
eval "$(__la_cmd "$@")" | while read f; do
[ "$f" == "." -o "$f" == ".." ] && continue
recho "$f"
done
cd "$curdir"
Seuls les noms des fichiers sont listés. Utiliser l'\''option -p pour inclure
les chemins'
function ls_all() {
local withp f b
if [ "$1" == -p ]; then withp=1; shift; fi
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
$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
$2..@=un ensemble de patterns pour le listage
cd "$b" 2>/dev/null || return
eval "$(__la_cmd "$@")" | while read f; do
[ -f "$f" ] && recho "$f"
done
cd "$curdir"
Seuls les noms des fichiers sont listés. Utiliser l'\''option -p pour inclure
les chemins'
function ls_files() {
local withp f b
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
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
$2..@=un ensemble de patterns pour le listage
cd "$b" 2>/dev/null || return
eval "$(__la_cmd "$@")" | while read f; do
[ "$f" == "." -o "$f" == ".." ] && continue
[ -d "$f" ] && recho "$f"
done
cd "$curdir"
Seuls les noms des répertoires sont listés. Utiliser l'\''option -p pour
inclure les chemins'
function ls_dirs() {
local withp f b
if [ "$1" == -p ]; then withp=1; shift; fi
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"