On Don, 01 Aug 2002 at 08:01 (+0200), Christoph Maurer wrote: [...]
Gebe ja zu, daß ich das in der Manpage auch nicht so gefunden habe, aber offensichtlich funktioniert's. War mehr ein Produkt zufälligen Ausprobierens, ohne "" geht es übrigens nicht...denn: ma@gbp301:~ > date "+%Y%m%d" "-d 20010101 -d +1 year" 20020101
Komisch, aber das muss wohl an dem Format 20010101 liegen, denn: jan@k500:~> date +%Y%m%d -d "20010101 -d +1 year -1 day" 20011231 jan@k500:~> date +%Y%m%d "-d 20010101 -d +1 year -d -1 day" date: ungültiges Datum ` 20010101 -d +1 year -d -1 day' jan@k500:~> date +%Y%m%d -d "Jan 01 +1 year -1 day" 20021231 BTW: Das mit dem "" hatte ich eigentlich so gemeint, dass sie nicht um die Optionsbuchstaben (-d) herum gehören.
aber:
ma@gbp301:~ > date "+%Y%m%d" -d 20010101 -d +1 year date: Zuviele Argumente, die keine Optionen sind Mit `date --help' bekommen Sie mehr Informationen.
Logo. Die letzte -d Option kriegt +1 als Argument und year steht einfach so in der Gegend rum. Das mosert date an. Selbst wenn Du die erste -d Option weglässt, kommt er ins Schleudern. Meine Vermutung mit den "" war natürlich Quatsch, das sorgt ja lediglich dafür, dass date die Option und ihre Argumente als ein Argument kriegt. Nötig sind sie aber nur dann, wenn Blanks oder andere Sonderzeichen in den Argumenten auftauchen. date +%Y%m%d -d 20010101 -d "+1 year" ist also syntaktisch korrekt. Dann ignoriert date aber die erste Option und rechnet 1 Jahr auf das heutige Datum. Jan