[linux] printf, seq

Geert Stappers stappers op stappers.nl
Vr Sep 30 11:11:32 CEST 2022


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:
> > Op vr 30 sep. 2022 09:36 schreef Paul Slootman:
> > > On Thu 29 Sep 2022, Eric de Hont wrote:
> > >
> > > > Voor het exacte formaat van de formatstring van printf:
> > > >
> > > >    man 3 printf
> > >
> > > De "3" hier geeft aan dat je de info uit section 3 van de manpages wilt;
> > > dat gaat over (C) library functions. Section 1 is voor gewone
> > > commando's.
> > >
> > > "help printf" geeft (in bash) de informatie over de in bash ingebouwde
> > > printf functie (die weer verwijst naar man 1 printf ...)
> > >
> > 
> > In dit specifieke geval hielpen zowel help als man niet zo heel veel. Maar
> > met wat zoeken en proberen lukte het nu wel. Dank daarvoor.
> > 
> > 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.


> > 
> > Dus in het voorbeeld van de OP was %.2d" een mogelijkheid. Input 1 wordt
> > 01, 10 blijft 10 en 100 blijft 100. :)
> 
> FWIW, wat ook kan is:
> 
> joostvb op dazbog:~% seq -w 00 10
> 00
> 01
> 02
> 03
> 04
> 05
> 06
> 07
> 08
> 09
> 10
> 
> (Of was seq(1) al langsgekomen?)
> 

Nee, nog niet in deze thread,
die immiddels weer een passende subject regel heeft.   \o/

$ seq 6
1
2
3
4
5
6
$ seq 6 3
$ seq 3 6
3
4
5
6
$ seq 3 6 2
$ seq 3 2 6
3
5
$ 


Met de manual page erbij, wordt het duidelijker:

SEQ(1)       Opdrachten voor gebruikers             SEQ(1)

NAAM
       seq - maak een serie getallen

SAMENVATTING
       seq [OPTIE]... LAATSTE
       seq [OPTIE]... EERSTE LAATSTE
       seq [OPTIE]... EERSTE STAP LAATSTE

BESCHRIJVING
       Maak de getallen van EERSTE tot LAATSTE, met stapgrootte STAP.



Groeten
Geert Stappers
-- 
Morgen is het ook nog september


Meer informatie over de Linux maillijst