Groups | Search | Server Info | Login | Register
Groups > comp.lang.awk > #10005
| From | Ed Morton <mortonspam@gmail.com> |
|---|---|
| Newsgroups | comp.lang.awk |
| Subject | Re: FIELDWIDTHS helper |
| Date | 2025-08-10 14:25 -0500 |
| Organization | A noiseless patient Spider |
| Message-ID | <107arnd$23gng$1@dont-email.me> (permalink) |
| References | <b208cecc-acca-4a4b-bce8-013c66682fcc@scorecrow.com> |
On 8/6/2025 4:23 AM, Bruce wrote:
> The other day I found myself unable to count field sizes accurately so I
> wrote this little helper.
>
> NR == 1 { # Pick a line
> print
> nf = split(FIELDWIDTHS, fw)
> for (i = 1; i <= nf; i++)
> for (j = 1; j <= fw[i]; j++)
> printf "%d", (i % 10)
> print ""
> }
FWIW you could do that without nested loops and without using
FIELDWIDTHS so it'll work in any POSIX awk, not just gawk:
NR == 1 { # Pick a line
for (i = 1; i <= NF; i++) {
out = sprintf("%*s", length($i), "")
gsub(/ /, i%10, out)
printf "%s", out
}
print ""
}
Regards,
Ed.
Back to comp.lang.awk | Previous | Next — Previous in thread | Next in thread | Find similar
FIELDWIDTHS helper Bruce <07.013@scorecrow.com> - 2025-08-06 10:23 +0100
Re: FIELDWIDTHS helper Ed Morton <mortonspam@gmail.com> - 2025-08-10 14:25 -0500
Re: FIELDWIDTHS helper Kaz Kylheku <643-408-1753@kylheku.com> - 2025-08-10 19:51 +0000
Re: FIELDWIDTHS helper gazelle@shell.xmission.com (Kenny McCormack) - 2025-08-10 21:34 +0000
Re: FIELDWIDTHS helper Kaz Kylheku <643-408-1753@kylheku.com> - 2025-08-11 04:10 +0000
Re: FIELDWIDTHS helper Bruce <07.013@scorecrow.com> - 2025-08-15 08:14 +0100
Re: FIELDWIDTHS helper Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2025-08-11 11:51 +0200
csiph-web