[linux] printf, seq

Guus Snijders gsnijders op gmail.com
Vr Sep 30 12:20:17 CEST 2022


Op vr 30 sep. 2022 11:11 schreef Geert Stappers via Linux <
linux op lists.nllgg.nl>:

> On Fri, Sep 30, 2022 at 10:45:05AM +0200, Joost van Baal-Ilić wrote:
> > On Fri, Sep 30, 2022 at 10:27:47AM +0200, Guus Snijders wrote:
>
> > > Een voorbeeld voor de archieven:
> > > printf "%.4d" 10
> > > geeft als output:
> > > 0010
> > >
> > > Waarbij % staat voor Format, . geeft de voorloop nullen, d voor
> decimaal en
> > > 10 de input.
> > >
>
> Als je een nul wilt hebben, zeg dan ook dat je een nul wilt hebben.
>
> $ printf "%.4d\n" 1
> 0001
> $ printf "%04d\n" 1
> 0001
>
> Gewoon omdat het beter leesbaar is.
> En eigenlijk denk ik dat de punt per ongeluk goed gaat.
> Me dunkt dat het niet in de manual page staat.
> Misschien ook wel en dan ben ik benieuwd naar het extra van de punt.


Helemaal met je eens over de leesbaarheid en voor het gegeven script werkt
dat ook goed. Het wordt anders als de output een vaste breedte moet hebben,
zoals
%6.4d". Dan is de 6 de (minimale) breedte, gevolgd door 4 cijfers.


Hmm, ik begin te snappen waarom ik 'vroeger' printf maar niet onder de knie
kreeg ;).


mvg, Guus Snijders
------------- volgend deel ------------
Een HTML-bijlage is gescrubt...
URL: <https://lists.nllgg.nl/pipermail/linux/attachments/20220930/f8bcbb35/attachment.htm>


Meer informatie over de Linux maillijst