trimmer les valeurs par défaut
This commit is contained in:
19
ulib/awk
19
ulib/awk
@@ -764,12 +764,14 @@ function awkcsv() { LANG=C lawkcsv "$@"; }
|
||||
__AWKFSV2CSV_HELP="\
|
||||
Transformer un flux fsv (colonnes à largeurs fixes) en csv
|
||||
|
||||
Chaque argument doit être de la forme [-]header:size. La colonne sera incluse
|
||||
dans le fichier en sortie, sauf si elle est précédée de -
|
||||
|
||||
Analyse du flux en entrée:
|
||||
-s, --skip-lines nblines
|
||||
Sauter nblines au début du flux
|
||||
|
||||
Chaque argument doit être de la forme [-]header:size. La colonne sera incluse
|
||||
dans le fichier en sortie, sauf si elle est précédée de -
|
||||
-r, --no-trim
|
||||
Ne pas trimmer les valeurs à droite.
|
||||
|
||||
Flux en sortie:
|
||||
-n, --no-headers
|
||||
@@ -777,9 +779,10 @@ Flux en sortie:
|
||||
|
||||
function lawkfsv2csv() {
|
||||
local -a args headersizes
|
||||
local skip_lines=0 show_headers=1
|
||||
local skip_lines=0 trim_values=1 show_headers=1
|
||||
if parse_opts \
|
||||
-s:,--skip-lines: skip_lines= \
|
||||
-r,--no-trim trim_values= \
|
||||
-n,--no-headers show_headers= \
|
||||
--show-headers show_headers=1 \
|
||||
@ args -- "$@"; then
|
||||
@@ -812,7 +815,7 @@ function lawkfsv2csv() {
|
||||
shift
|
||||
|
||||
awkrun -f \
|
||||
skip_lines:int="$skip_lines" show_headers:int="$show_headers" \
|
||||
skip_lines:int="$skip_lines" trim_values:int="$trim_values" show_headers:int="$show_headers" \
|
||||
headers[@] starts[@] sizes[@] \
|
||||
"$__AWKCSV_FUNCTIONS"'
|
||||
BEGIN {
|
||||
@@ -824,8 +827,10 @@ NR <= skip_lines { next }
|
||||
{
|
||||
line = $0
|
||||
$0 = ""
|
||||
for (i=1; i <= headers_count; i++) {
|
||||
$i = substr(line, starts[i], sizes[i])
|
||||
for (i = 1; i <= headers_count; i++) {
|
||||
value = substr(line, starts[i], sizes[i])
|
||||
if (trim_values) sub(/ *$/, "", value)
|
||||
$i = value
|
||||
}
|
||||
formatcsv()
|
||||
print
|
||||
|
||||
Reference in New Issue
Block a user