Sponsored Content
Full Discussion: Calculate datediff
Top Forums Shell Programming and Scripting Calculate datediff Post 303004595 by apmcd47 on Thursday 5th of October 2017 05:07:21 AM
Old 10-05-2017
From your usage of date I would guess that you are (1) using Gnu utilities and therefore (2) are on a Linux distro and therefore (3) using bash.

Try this:
Code:
now=$(date  +"%s")
echo "NOW = ${now}";
file=$(ls -1r *.txt|head -1)
echo "file name is $file"
#filename 201710030549.txt

fdate=$(date -d ${filename:0:8} +"%s")
echo "file date = $fdate"
echo $(( (now - fdate) / 86400 )) days

Adding -r to ls allows us to use head instead of tail. Also, it is unlikely that
there will be a directory with the .txt extension the the -p and the grep should not be needed. The -A is also useless in this context.

The variable expansion ${var:offset:len} will produce len characters from the offset position (starting from zero), so ${filename:0:8} will produce 20171003.

date will understand 20171003 as 3rd October 2017 so you don't need to chop up the date.

Hope this helps.

Andrew
This User Gave Thanks to apmcd47 For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

calculate from three files

Hi all I have 3 three files like: file1: 1|100 2|200 3|300 4|400 5|500 file2: 1|200 2|200 3|600 4|800 file3: 1|300 2|100 (5 Replies)
Discussion started by: koti_rama
5 Replies

2. AIX

calculate time

Hi, How do I calculate time? I need to create an alert if a process is running more than 30 minutes. I need to get the first time and then get another, calculate it if more than 30 mins and then alert it to pager. Can't find it in internet. Thanks in advance, itik (2 Replies)
Discussion started by: itik
2 Replies

3. Shell Programming and Scripting

calculate the space

Hi everyone, I need to write a script to calculate the space for sub-folders under /home: Here is the scanrio: cd /home drwxr-xr-x 57 root root 8192 Jan 22 16:13 home_1 drwxrwxrwx 69 root root 8192 Jan 29 10:36 home_2 drwxr-xr-x 97 root root 8192 Nov... (8 Replies)
Discussion started by: za_7565
8 Replies

4. Programming

calculate average

I have a file which is 2 3 4 5 6 6 so i am writing program in C to calculate mean.. #include<stdio.h> #include<string.h> #include <math.h> double CALL mean(int n , double x) main (int argc, char **argv) { char Buf,SEQ; int i; double result = 0; FILE *fp; (3 Replies)
Discussion started by: cdfd123
3 Replies

5. Shell Programming and Scripting

How To Calculate

I have 2 variables in my shell scripts in which i am using awk and calculating 2 files and getting 2 different variable called in_total and out_total. I want to subtract one variable from another so plz tell me how i can do that. Example is: cat in_file | awk -F: '{ in_total += $1 * 86400... (3 Replies)
Discussion started by: krishna_sicsr
3 Replies

6. Shell Programming and Scripting

Calculate P Value -Awk

Is there any awk command to calculate P Value ?(Probability) Is it possib;e to calculate P va;ue for this data for ex? 7.891284 8.148193 7.749575 7.958188 7.887702 7.714877 8.141548 7.51845 8.27736 7.929853 7.92456 8.249126 7.989113 8.012573 8.351206 (2 Replies)
Discussion started by: stateperl
2 Replies

7. Shell Programming and Scripting

Calculate age of a file | calculate time difference

Hello, I'm trying to create a shell script (#!/bin/sh) which should tell me the age of a file in minutes... I have a process, which delivers me all 15 minutes a new file and I want to have a monitoring script, which sends me an email, if the present file is older than 20 minutes. To do... (10 Replies)
Discussion started by: worm
10 Replies

8. UNIX for Dummies Questions & Answers

Calculate

i have file input abcedef|wert|13|03|10|04|23|A1|13|05|01|09|31 fsdasdf|ferg|12|04|25|21|21|A1|13|02|26|20|31 dfsfsad|gerg|12|04|25|21|21|A1|13|02|25|25|31 i expect the output abcedef|wert|13|03|10|04|23|A1|13|05|01|09|31|9.516666667... (5 Replies)
Discussion started by: radius
5 Replies

9. Shell Programming and Scripting

Calculate the mean of numbers

I have a text file which has 3 columns. The first two columns are shown below. 57 7 23 8 14 17 23 1 I need to print mean using the following formula . mean =sum of the numbers of $2/total numbers of $1 output:- sum of $2 = 33 total numbers = 4 mean= 8.25 (1 Reply)
Discussion started by: andreaalex
1 Replies

10. Shell Programming and Scripting

How to calculate difference:?

Experts, file1 : Want to find the difference of $3 field from next line's 3rd field, The difference to be calculated from next lines 3rd field, to current lines lines 3rd field. file1 : Jun24_2013.06242013 3301244928 3133059904 167370640 95% Jun25_1124.06252013 3301244928... (4 Replies)
Discussion started by: rveri
4 Replies
FILEMTIME(3)								 1							      FILEMTIME(3)

filemtime - Gets file modification time

SYNOPSIS
int filemtime (string $filename) DESCRIPTION
This function returns the time when the data blocks of a file were being written to, that is, the time when the content of the file was changed. PARAMETERS
o $filename - Path to the file. RETURN VALUES
Returns the time the file was last modified, or FALSE on failure. The time is returned as a Unix timestamp, which is suitable for the date(3) function. EXAMPLES
Example #1 filemtime(3) example <?php // outputs e.g. somefile.txt was last modified: December 29 2002 22:16:23. $filename = 'somefile.txt'; if (file_exists($filename)) { echo "$filename was last modified: " . date ("F d Y H:i:s.", filemtime($filename)); } ?> ERRORS
/EXCEPTIONS Upon failure, an E_WARNING is emitted. NOTES
Note Note that time resolution may differ from one file system to another. Note The results of this function are cached. See clearstatcache(3) for more details. Tip As of PHP 5.0.0, this function can also be used with some URL wrappers. Refer to "Supported Protocols and Wrappers" to determine which wrappers support stat(3) family of functionality. SEE ALSO
filectime(3), stat(3), touch(3), getlastmod(3). PHP Documentation Group FILEMTIME(3)
All times are GMT -4. The time now is 04:10 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy