[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Can Bash do simple math?
From: |
alex xmb sw ratchev |
Subject: |
Re: Can Bash do simple math? |
Date: |
Tue, 6 Aug 2024 18:38:34 +0200 |
~ $ alias tm='timemark+=( $EPOCHREALTIME )'
~ $ tm
[Process completed (signal 11) - press Enter]
i think this is new
aliases like this worked all the time
On Tue, Aug 6, 2024, 18:35 alex xmb sw ratchev <fxmbsw7@gmail.com> wrote:
> ~ $ alias tm='timemark+=( $EPOCHREALTIME )'
> tm ; sleep .313373 ; tm IFS=- ;
>
> [Process completed (signal 11) - press Enter]
>
> ( two lines , one alias , one rest )
>
> On Tue, Aug 6, 2024, 18:32 alex xmb sw ratchev <fxmbsw7@gmail.com> wrote:
>
>> also btw for preciese timings
>> u need float math
>> like with awk
>>
>> two methods
>>
>> use date +%s.%N
>>
>> or inline script
>> do
>> timemarker+=( $EPOCHREALTIME )
>> on beginning
>> and end
>> and math together , like
>>
>> awk '{
>>
>> .. i was writing
>> any idea why following exits android termux ? andro kill policy ?
>>
>> ~ $ alias tm='timemark+=( $EPOCHREALTIME )' ~ $ tm ; sleep .313373 ;
>> tm ; IFS=- ; gawk ' { print ( $0 ) } ' <<<"${timemark[*]: -2:2}"
>> Vim: Caught deadly signal 'SIGTERM'
>>
>> [Process completed (signal 11) - press Enter]
>>
>> On Tue, Aug 6, 2024, 18:24 alex xmb sw ratchev <fxmbsw7@gmail.com> wrote:
>>
>>>
>>>
>>> On Tue, Aug 6, 2024, 17:53 Greg Wooledge <greg@wooledge.org> wrote:
>>>
>>>> On Tue, Aug 06, 2024 at 17:08:23 +0200, alex xmb sw ratchev wrote:
>>>> > i really dont see why 60
>>>>
>>>> Because there are 60 seconds in each minute, and 60 minutes in each
>>>> hour.
>>>>
>>>> Let's say you measure how long a program takes to run, and it ends up
>>>> being 179 seconds. You'd like to convert this number (179) to an
>>>> interval expressed as "x minutes and y seconds".
>>>>
>>>> There are a few ways you can do this. They all give you the same
>>>> answer.
>>>>
>>>> The way that I find simplest to understand is always to divide by the
>>>> next conversion factor. So:
>>>>
>>>> 1) We divide 179 by 60, to get the number of minutes.
>>>>
>>>
>>> u misread big
>>> the users original code
>>> makes , seconds minus math
>>> the currency of it is still 1second
>>>
>>> now look what u write
>>> ' to get minutes '
>>>
>>> i say users code has
>>> seconds = diffinseconds % 60
>>> not
>>> minutes = diffinseconds % 60
>>>
>>> i use / 60 anyway
>>> i must benchmark somewhen
>>>
>>> We're using integer division, so any fractions are discarded.
>>>> 179 / 60 = 2
>>>> So the final answer includes "2 minutes" as the first component.
>>>>
>>>> 2) Now that we know how many whole minutes there are, we remove those
>>>> from the original number.
>>>> 2 * 60 = 120
>>>> We decrease the original number by 120.
>>>> 179 - 120 = 59
>>>>
>>>> 3) The amount that's left over (59) is the number of seconds.
>>>> So our final answer is "2 minutes and 59 seconds".
>>>>
>>>> The conversion that the OP used is very similar to this, except they
>>>> went for hours, minutes and seconds.
>>>>
>>>> Let's say you run a different program and it takes 7701 seconds, and
>>>> you'd like to convert this to "x hours, y minutes and z seconds". We
>>>> can apply a similar recipe:
>>>>
>>>> 1) Divide 7701 by 3600 to get the number of whole hours.
>>>> 7701 / 3600 = 2
>>>> "2 hours"
>>>>
>>>> 2) Subtract the whole hours from the original number.
>>>> 7701 - (2 * 3600) = 501
>>>>
>>>> 3) Divide by 60 to get the number of minutes.
>>>> 501 / 60 = 8
>>>> "8 minutes"
>>>>
>>>> 4) Subtract the whole minutes from the original number
>>>> 501 - (8 * 60) = 21
>>>>
>>>> 5) The remaining number is the number of seconds.
>>>> "21 seconds"
>>>>
>>>> So in this case, our final answer is "2 hours, 8 minutes and 21
>>>> seconds".
>>>>
>>>> The OP chose to use slightly different recipes, which involve modulus
>>>> and which don't decrease the total as we go. That's fine. As I said,
>>>> there are different ways to do it, which all give the same answer.
>>>>
>>>>
- Re: Can Bash do simple math?, (continued)
- Re: Can Bash do simple math?, Greg Wooledge, 2024/08/06
- Re: Can Bash do simple math?, alex xmb sw ratchev, 2024/08/06
- Re: Can Bash do simple math?, alex xmb sw ratchev, 2024/08/06
- Re: Can Bash do simple math?, alex xmb sw ratchev, 2024/08/06
- Re: Can Bash do simple math?, Bash-help, 2024/08/06
- Re: Can Bash do simple math?, alex xmb sw ratchev, 2024/08/06
- Re: Can Bash do simple math?, Greg Wooledge, 2024/08/06
- Re: Can Bash do simple math?, alex xmb sw ratchev, 2024/08/06
- Re: Can Bash do simple math?, alex xmb sw ratchev, 2024/08/06
- Re: Can Bash do simple math?, alex xmb sw ratchev, 2024/08/06
- Re: Can Bash do simple math?,
alex xmb sw ratchev <=
- Re: Can Bash do simple math?, alex xmb sw ratchev, 2024/08/06
- Re: Can Bash do simple math?, bash, 2024/08/06
- Re: Can Bash do simple math?, Greg Wooledge, 2024/08/06
- Re: Can Bash do simple math?, alex xmb sw ratchev, 2024/08/06
- Re: Can Bash do simple math?, alex xmb sw ratchev, 2024/08/06