lformat and possible bugs.
My system is Peg2/1gb/Radeon9250. This is made with normal amiga shell.
I used DATE command lformat substitution operators from http://www.titan.co.nz/amigaak/AA020844e2D.htm
Pretty amazing site... loads of useful information.
I renamed file qwe with next command set: rename qwe qwe.`date lformat %operator`
Im finetuning my backup logs, so find these.
Most operators works fine, some not.
%a works
%A works
%b works
%B works
%c fails,
3.RAM Disk:> rename qwe qwe.`date lformat %c`
RENAME: Destination "2014" is not a directory.
If I try to point comman to directory, result is similar.
%d works
%D fails,
3.RAM Disk:> rename qwe qwe.`date lformat %D`
RENAME: Can't rename "qwe" as "qwe.02/06/14" because
RENAME: object not found
%e fails,
3.RAM Disk:> rename qwe qwe.`date lformat %e`
RENAME: Destination "6" is not a directory.
%h works
%H works
%I works
%j works
%m works
%n works
%p works
%q works
%Q works
%r fails
3.RAM Disk:> rename qwe qwe.`date lformat %r`
RENAME: Destination "PM" is not a directory.
%R fails,
3.RAM Disk:> rename qwe qwe.`date lformat %R`
Amigados requester, Please insert volume qwe.23 in any drive Proess: 954 "rename"
RENAME: Can't rename "qwe" as "qwe.23:49" because
RENAME: device (or volume) is not mounted
%S works
%t works
%T fails,
3.RAM Disk:> rename qwe qwe.`date lformat %T`
Amigados requester, Please insert volume qwe.23 in any drive Proess: 954 "rename"
RENAME: Can't rename "qwe" as "qwe.23:51:22" because
RENAME: device (or volume) is not mounted
%U works
%w works, counts as monday is first day of week, documentation says that should start from sunday
%W, counts as sunday is first day of week, my documentation says that should start from monday
Either doc is wrong or output is wrong?
%x fails,
3.RAM Disk:> rename qwe qwe.`date lformat %x`
RENAME: Can't rename "qwe" as "qwe.02/06/14" because
RENAME: object not found
%X fails,
3.RAM Disk:> rename qwe qwe.`date lformat %X`
Amigados requester, Please insert volume qwe.23 in any drive Proess: 954 "rename"
RENAME: Can't rename "qwe" as "qwe.23:54:28" because
RENAME: device (or volume) is not mounted
%y works
%Y works
There seems to be three different misbehaving.
1st
Operator %c
RENAME: Destination "2014" is not a directory.
Operator %e
RENAME: Destination "6" is not a directory.
Operator %r
RENAME: Destination "PM" is not a directory.
%c - same as "%a %b %d %H:%M:%S %Y"
%e - day number with leading spaces
%r - same as "%I:%M:%S %p"
2nd
Operator %D
RENAME: Can't rename "qwe" as "qwe.02/06/14" because
RENAME: object not found
Operator %x
RENAME: Can't rename "qwe" as "qwe.02/06/14" because
RENAME: object not found
%D - same as "%m/%d/%y"
%x - same as "%m/%d/%y"
3rd
Operator %R
Amigados requester, Please insert volume qwe.23 in any drive Proess: 954 "rename"
RENAME: Can't rename "qwe" as "qwe.23:49" because
RENAME: device (or volume) is not mounted
Operator %T
Amigados requester, Please insert volume qwe.23 in any drive Proess: 954 "rename"
RENAME: Can't rename "qwe" as "qwe.23:51:22" because
RENAME: device (or volume) is not mounted
Operator %X
Amigados requester, Please insert volume qwe.23 in any drive Proess: 954 "rename"
RENAME: Can't rename "qwe" as "qwe.23:54:28" because
RENAME: device (or volume) is not mounted
%R - same as "%H:%M"
%T - same as "%H:%M:%S"
%X - same as "%H:%M:%S"
Could someone from betatesting team test and confirm ?
Thanks.
Date command lformat substitution operators, me totally out
Date command lformat substitution operators, me totally out
Last edited by mlehto on Fri Feb 07, 2014 5:01 pm, edited 1 time in total.
Re: Date command lformat substitution operators bugs
Additionally, can someone tell, where I get these `` marks around date lformat from finnish/swedish pc-keyboard. I'm bit tired to copypaste them ...
- LyleHaze
- AmigaOS Core Developer
- Posts: 525
- Joined: Sat Jun 18, 2011 4:06 pm
- Location: North Florida, near the Big Bend
Re: Date command lformat substitution operators bugs
On a US keyboard, it's the key to the left of the '1', top row, just below ESCmlehto wrote:Additionally, can someone tell, where I get these `` marks around date lformat from finnish/swedish pc-keyboard. I'm bit tired to copypaste them ...
On to what some patterns work in a rename and some do not.
When you use the back-apostrophe in a command, it runs whatever is inside those apostrophes, and inserts the output into your command line.
Let me demonstrate here.
RAM Disk:> date lformat %A
Thursday
Now using your example, if I type
rename foo foo.`date lformat %A`
Then the shell runs `date lformat %A`, and gets the output "Thursday".
It is now ready to run the rename command, and the result is just like
you had just typed
rename foo foo.Thursday
Because Thursday is the result of `date lformat %A`
Now let's look at some that do NOT work.
Your original post says %c fails.
Let's try it alone before we add it to rename:
RAM Disk:> date lformat %c
Thu Feb 06 22:38:08 2014
So if I tried to
rename foo foo.`date lformat %c`
What I am really asking is for
rename foo foo.Thu Feb 06 22:38:08 2014
Which is not a legal filename, because it has too many colons.
Remember, Colons are reserved as a separator between drive and directories.
So you are asking for an illegal rename, and it fails.
A few others that you say don't work include:
%D %e %r %R %T %x %X
Now if you try each of those, I'll bet that you're getting colons, slashes, or other formats
that are illegal in filenames..
I hope it makes a bit more sense now.
LyleHaze
- salass00
- AmigaOS Core Developer
- Posts: 530
- Joined: Sat Jun 18, 2011 3:12 pm
- Location: Finland
- Contact:
Re: Date command lformat substitution operators bugs
On Finnish PC keyboard it's SHIFT and the key just to the left of the backspace key. Since it's a dead key you have to press SPACE afterwards to produce the character. Also FWIW the Finnish keymap in AmigaOS 4.x doesn't work very well for any of my Finnish keyboards so I use the Swedish keymap instead which works better.mlehto wrote:Additionally, can someone tell, where I get these `` marks around date lformat from finnish/swedish pc-keyboard. I'm bit tired to copypaste them ...
- LyleHaze
- AmigaOS Core Developer
- Posts: 525
- Joined: Sat Jun 18, 2011 4:06 pm
- Location: North Florida, near the Big Bend
Re: Date command lformat substitution operators bugs
Maybe it's not "Finnished"?salass00 wrote: Also FWIW the Finnish keymap in AmigaOS 4.x doesn't work very well for ...
Sorry, I couldn't resist.
Re: Date command lformat substitution operators bugs
@mletho:
I think LyleHaze pretty much explained very well where you were going wrong.
@salass00:
You do know the new keymap files are text-based? You can edit them to suit your needs.
I think LyleHaze pretty much explained very well where you were going wrong.
@salass00:
You do know the new keymap files are text-based? You can edit them to suit your needs.
Re: Date command lformat substitution operators bugs
Uhhh.... at least I managed to change topic.
Thanks. Tells me, that dont post thing tired
Explanation was clear, I just try to add %T ...
Thanks. Tells me, that dont post thing tired
Explanation was clear, I just try to add %T ...
LyleHaze wrote:On a US keyboard, it's the key to the left of the '1', top row, just below ESCmlehto wrote:Additionally, can someone tell, where I get these `` marks around date lformat from finnish/swedish pc-keyboard. I'm bit tired to copypaste them ...
On to what some patterns work in a rename and some do not.
When you use the back-apostrophe in a command, it runs whatever is inside those apostrophes, and inserts the output into your command line.
Let me demonstrate here.
RAM Disk:> date lformat %A
Thursday
Now using your example, if I type
rename foo foo.`date lformat %A`
Then the shell runs `date lformat %A`, and gets the output "Thursday".
It is now ready to run the rename command, and the result is just like
you had just typed
rename foo foo.Thursday
Because Thursday is the result of `date lformat %A`
Now let's look at some that do NOT work.
Your original post says %c fails.
Let's try it alone before we add it to rename:
RAM Disk:> date lformat %c
Thu Feb 06 22:38:08 2014
So if I tried to
rename foo foo.`date lformat %c`
What I am really asking is for
rename foo foo.Thu Feb 06 22:38:08 2014
Which is not a legal filename, because it has too many colons.
Remember, Colons are reserved as a separator between drive and directories.
So you are asking for an illegal rename, and it fails.
A few others that you say don't work include:
%D %e %r %R %T %x %X
Now if you try each of those, I'll bet that you're getting colons, slashes, or other formats
that are illegal in filenames..
I hope it makes a bit more sense now.
LyleHaze
Re: Date command lformat substitution operators bugs
Ok, I have dead key. This is pretty finished kbd, loads of typos because just dont work. waiting new atm. Actually A4k original, hopefully works better.
Switched to swedish keyboard map.
Switched to swedish keyboard map.
salass00 wrote:On Finnish PC keyboard it's SHIFT and the key just to the left of the backspace key. Since it's a dead key you have to press SPACE afterwards to produce the character. Also FWIW the Finnish keymap in AmigaOS 4.x doesn't work very well for any of my Finnish keyboards so I use the Swedish keymap instead which works better.mlehto wrote:Additionally, can someone tell, where I get these `` marks around date lformat from finnish/swedish pc-keyboard. I'm bit tired to copypaste them ...
Re: Date command lformat substitution operators bugs
You can't use %T because it contains colons ":" which should not be used in filenames.mlehto wrote:Explanation was clear, I just try to add %T ...
Use "%H%M%S" or "%H_%M_%S" or "%H-%M-%S" or ...
Re: Date command lformat substitution operators, me totally
@Gazelle
Huh,
When I now read my answer to LyleHaze, it is pretty crappy english, even from me...
What I meant:
Explanation was clear, thank you.
I try (tried?) to add %T to my scrip and it drove me troubles. Then I started to test things and my assumption drove me even deeper troubles. Then, when situation wasnt enought problematic and embarassing I continue to drive myself even deeper pithole using overshorted and bad english, and thereafter no-one didn't understand, what I mean. Not even myself.
Thanks everybody
I go to take english lessons
And next time I keep in mind, that if someone gives good explanation to me, he deserve better and undestandable language. Thanks Lyle
Overall this lformat is damn fine addition. I'm not very good in AmigaDos but it make it just more intresting. Somehow I understood it uncorrectly. I thought that it is general command, wich is universally same everywhere, but it is more flexible, and syntax depends, how or where it is used.
Huh,
When I now read my answer to LyleHaze, it is pretty crappy english, even from me...
What I meant:
Explanation was clear, thank you.
I try (tried?) to add %T to my scrip and it drove me troubles. Then I started to test things and my assumption drove me even deeper troubles. Then, when situation wasnt enought problematic and embarassing I continue to drive myself even deeper pithole using overshorted and bad english, and thereafter no-one didn't understand, what I mean. Not even myself.
Thanks everybody
I go to take english lessons
And next time I keep in mind, that if someone gives good explanation to me, he deserve better and undestandable language. Thanks Lyle
Overall this lformat is damn fine addition. I'm not very good in AmigaDos but it make it just more intresting. Somehow I understood it uncorrectly. I thought that it is general command, wich is universally same everywhere, but it is more flexible, and syntax depends, how or where it is used.