dumpcsv: ajouter l'option --hname
This commit is contained in:
parent
903d500c14
commit
d6540ac596
30
lib/ulib/awk
30
lib/ulib/awk
|
@ -1768,24 +1768,28 @@ Afficher les champs spécifiés pour traitement par le shell
|
||||||
-s, --skip-fields SKIPFIELDS
|
-s, --skip-fields SKIPFIELDS
|
||||||
Exclure les champs spécifiés. SKIPFIELDS est une liste de champs séparés par
|
Exclure les champs spécifiés. SKIPFIELDS est une liste de champs séparés par
|
||||||
des virgules.
|
des virgules.
|
||||||
|
|
||||||
-h, --dump-headers
|
-h, --dump-headers
|
||||||
Inclure les en-têtes dans la sortie. Elles sont traitées exactement comme
|
Inclure les en-têtes dans la sortie. Elles sont traitées exactement comme
|
||||||
une ligne de données.
|
une ligne de données.
|
||||||
|
--hname HNAME
|
||||||
|
Spécifier le nom à utiliser pour afficher les en-têtes avec l'option -h
|
||||||
|
|
||||||
-n, --name NAME
|
-n, --name NAME
|
||||||
Spécifier le nom pour les options -f, -a, etc.
|
Spécifier le nom à utiliser pour les options -f, -a, -b
|
||||||
-f, --function
|
-f, --function
|
||||||
Afficher les champs comme l'appel d'une fonction, e.g:
|
Afficher les champs comme l'appel d'une fonction, e.g:
|
||||||
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 'dump' par défaut
|
nom de la fonction, qui vaut 'dump' par défaut. Avec -h, le nom par défaut
|
||||||
|
est 'dumph'
|
||||||
-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 'values' par
|
L'option -n permet de spécifier le nom du tableau, qui vaut 'values' par
|
||||||
défaut
|
défaut. Avec -h, le nom par défaut est 'names'
|
||||||
-b, --array-function
|
-b, --array-function
|
||||||
Afficher les champs comme l'initialisation des valeurs d'un tableau suivi de
|
Afficher les champs comme l'initialisation des valeurs d'un tableau suivi de
|
||||||
l'appel d'une fonction, e.g:
|
l'appel d'une fonction, e.g:
|
||||||
|
@ -1794,12 +1798,13 @@ Afficher les champs spécifiés pour traitement par le shell
|
||||||
values=(value10 value11...)
|
values=(value10 value11...)
|
||||||
dump
|
dump
|
||||||
Le nom du tableau est fixé à 'values'. L'option -n permet de spécifier le
|
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"
|
nom de la fonction, qui vaut 'dump' par défaut. Avec -h le nom par défaut
|
||||||
|
est 'dumph'"
|
||||||
|
|
||||||
function ldumpcsv() {
|
function ldumpcsv() {
|
||||||
eval "$(utools_local)"
|
eval "$(utools_local)"
|
||||||
local skip= parse_headers=1 keepf skipf show_headers
|
local skip= parse_headers=1 keepf skipf show_headers
|
||||||
local name dump=function
|
local dump=function name hname
|
||||||
parse_opts "${PRETTYOPTS[@]}" \
|
parse_opts "${PRETTYOPTS[@]}" \
|
||||||
-S:,--skip:,--skip-lines:,--skiplines: skip= \
|
-S:,--skip:,--skip-lines:,--skiplines: skip= \
|
||||||
-H,--parse-headers parse_headers=1 \
|
-H,--parse-headers parse_headers=1 \
|
||||||
|
@ -1808,6 +1813,7 @@ function ldumpcsv() {
|
||||||
-s:,--skip:,--skip-fields:,--skipfields: skipf= \
|
-s:,--skip:,--skip-fields:,--skipfields: skipf= \
|
||||||
-h,--dump-headers show_headers=1 \
|
-h,--dump-headers show_headers=1 \
|
||||||
-n:,--name: name= \
|
-n:,--name: name= \
|
||||||
|
--hname: hname= \
|
||||||
-f,--function dump=function \
|
-f,--function dump=function \
|
||||||
-a,--array dump=array \
|
-a,--array dump=array \
|
||||||
-b,--array-function dump=array-function \
|
-b,--array-function dump=array-function \
|
||||||
|
@ -1822,6 +1828,12 @@ function ldumpcsv() {
|
||||||
else array_add args -n
|
else array_add args -n
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -z "$hname" ]; then
|
||||||
|
case "$dump" in
|
||||||
|
function|array-function) hname=dumph;;
|
||||||
|
array) hname=names;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
if [ -z "$name" ]; then
|
if [ -z "$name" ]; then
|
||||||
case "$dump" in
|
case "$dump" in
|
||||||
function|array-function) name=dump;;
|
function|array-function) name=dump;;
|
||||||
|
@ -1832,8 +1844,8 @@ function ldumpcsv() {
|
||||||
local -a fields
|
local -a fields
|
||||||
fields=("$@")
|
fields=("$@")
|
||||||
|
|
||||||
awkcsv "${args[@]}" -v show_headers:int="$show_headers" -v name="$name" -v dump="$dump" -v fields[@] -e '
|
awkcsv "${args[@]}" -v show_headers:int="$show_headers" -v hname="$hname" -v name="$name" -v dump="$dump" -v fields[@] -e '
|
||||||
function dump_values(values) {
|
function dump_values(name, values) {
|
||||||
if (dump == "function") {
|
if (dump == "function") {
|
||||||
print qarr(values, name)
|
print qarr(values, name)
|
||||||
} else if (dump == "array") {
|
} else if (dump == "array") {
|
||||||
|
@ -1850,7 +1862,7 @@ function dump_values(values) {
|
||||||
fields_count = array_len(fields)
|
fields_count = array_len(fields)
|
||||||
}
|
}
|
||||||
if (show_headers) {
|
if (show_headers) {
|
||||||
dump_values(fields)
|
dump_values(hname, fields)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
array_new(values)
|
array_new(values)
|
||||||
|
@ -1859,7 +1871,7 @@ function dump_values(values) {
|
||||||
values[i] = get(fields[i])
|
values[i] = get(fields[i])
|
||||||
i++
|
i++
|
||||||
}
|
}
|
||||||
dump_values(values)
|
dump_values(name, values)
|
||||||
}' -a ''
|
}' -a ''
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue