dumpcsv: ajout de l'option -b
This commit is contained in:
parent
939b5add30
commit
4808fa027d
33
lib/ulib/awk
33
lib/ulib/awk
|
@ -1751,14 +1751,14 @@ function sortcsv() { LANG=C lsortcsv "$@"; }
|
||||||
__DUMPCSV_HELP="\
|
__DUMPCSV_HELP="\
|
||||||
Afficher les champs spécifiés pour traitement par le shell
|
Afficher les champs spécifiés pour traitement par le shell
|
||||||
|
|
||||||
--skip-lines nblines
|
-s, -S, --skip-lines nblines
|
||||||
Sauter nblines au début du flux
|
Sauter nblines au début du flux
|
||||||
-h, --parse-headers
|
-h, -H, --parse-headers
|
||||||
Lire la liste des champs à partir de la première ligne non ignorée du flux.
|
Lire la liste des champs à partir de la première ligne non ignorée du flux.
|
||||||
Si cette option est spécifiée (ce qui est le cas par défaut), les champs
|
Si cette option est spécifiée (ce qui est le cas par défaut), les champs
|
||||||
spécifiés peuvent être les noms effectifs des champs. Sinon, les champs ne
|
spécifiés peuvent être les noms effectifs des champs. Sinon, les champs ne
|
||||||
peuvent être que numériques.
|
peuvent être que numériques.
|
||||||
--numkeys
|
-N, --numkeys
|
||||||
Ne pas analyser la première ligne pour les noms des champs. Les champs
|
Ne pas analyser la première ligne pour les noms des champs. Les champs
|
||||||
spécifiés ne peuvent être que numériques.
|
spécifiés ne peuvent être que numériques.
|
||||||
|
|
||||||
|
@ -1769,13 +1769,22 @@ Afficher les champs spécifiés pour traitement par le shell
|
||||||
dump value00 value01...
|
dump value00 value01...
|
||||||
dump value10 value11...
|
dump value10 value11...
|
||||||
C'est la méthode d'affichage par défaut. L'option -n permet de spécifier le
|
C'est la méthode d'affichage par défaut. L'option -n permet de spécifier le
|
||||||
nom de la fonction, qui vaut par défaut 'dump'
|
nom de la fonction, qui vaut 'dump' par défaut
|
||||||
-a, --array
|
-a, --array
|
||||||
Afficher les champs comme les valeurs d'un tableau, e.g:
|
Afficher les champs comme les valeurs d'un tableau, e.g:
|
||||||
values=(value00 value01...)
|
values=(value00 value01...)
|
||||||
values=(value10 value11...)
|
values=(value10 value11...)
|
||||||
L'option -n permet de spécifier le nom du tableau, qui vaut par défaut
|
L'option -n permet de spécifier le nom du tableau, qui vaut 'values' par
|
||||||
'values'"
|
défaut
|
||||||
|
-b, --array-function
|
||||||
|
Afficher les champs comme l'initialisation des valeurs d'un tableau suivi de
|
||||||
|
l'appel d'une fonction, e.g:
|
||||||
|
values=(value00 value01...)
|
||||||
|
dump
|
||||||
|
values=(value10 value11...)
|
||||||
|
dump
|
||||||
|
Le nom du tableau est fixé à 'values'. L'option -n permet de spécifier le
|
||||||
|
nom de la fonction, qui vaut 'dump' par défaut"
|
||||||
|
|
||||||
: "${__DUMPCSV_DEBUG:=}"
|
: "${__DUMPCSV_DEBUG:=}"
|
||||||
function ldumpcsv() {
|
function ldumpcsv() {
|
||||||
|
@ -1783,12 +1792,13 @@ function ldumpcsv() {
|
||||||
local skip= parse_headers=1
|
local skip= parse_headers=1
|
||||||
local name dump=function
|
local name dump=function
|
||||||
parse_opts "${PRETTYOPTS[@]}" \
|
parse_opts "${PRETTYOPTS[@]}" \
|
||||||
--skip:,--skip-lines:,--skiplines: skip= \
|
-s:,-S:,--skip:,--skip-lines:,--skiplines: skip= \
|
||||||
-h,--parse-headers parse_headers=1 \
|
-h,-H,--parse-headers parse_headers=1 \
|
||||||
--numkeys parse_headers= \
|
-N,--numkeys parse_headers= \
|
||||||
-n:,--name: name= \
|
-n:,--name: name= \
|
||||||
-f,--function dump=function \
|
-f,--function dump=function \
|
||||||
-a,--array dump=array \
|
-a,--array dump=array \
|
||||||
|
-b,--array-function dump=array-function \
|
||||||
@ args -- "$@" && set -- "${args[@]}" || die "$args"
|
@ args -- "$@" && set -- "${args[@]}" || die "$args"
|
||||||
|
|
||||||
args=(${skip:+--skip-lines "$skip"})
|
args=(${skip:+--skip-lines "$skip"})
|
||||||
|
@ -1798,7 +1808,7 @@ function ldumpcsv() {
|
||||||
|
|
||||||
if [ -z "$name" ]; then
|
if [ -z "$name" ]; then
|
||||||
case "$dump" in
|
case "$dump" in
|
||||||
function) name=dump;;
|
function|array-function) name=dump;;
|
||||||
array) name=values;;
|
array) name=values;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
@ -1817,6 +1827,9 @@ function ldumpcsv() {
|
||||||
print qarr(values, name)
|
print qarr(values, name)
|
||||||
} else if (dump == "array") {
|
} else if (dump == "array") {
|
||||||
print name "=(" qarr(values) ")"
|
print name "=(" qarr(values) ")"
|
||||||
|
} else if (dump == "array-function") {
|
||||||
|
print "values=(" qarr(values) ")"
|
||||||
|
print name
|
||||||
}
|
}
|
||||||
}'
|
}'
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue