Show file name included time information


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Show file name included time information
# 1  
Old 11-17-2018
Show file name included time information

Hi all,

I have many files included time information, some of them included time range by 30 minutes;


Code:
2007-12-27T110000.txt
2007-12-27T120000.txt
2007-12-27T130000.txt
2007-12-27T150000.txt
2007-12-27T153000.txt
2007-12-28T000000.txt
2007-12-28T003000.txt


I only want to echo that if two files are in the range by 30 minutes like;

Code:
2007-12-27T150000.txt
2007-12-27T153000.txt
2007-12-28T000000.txt
2007-12-28T003000.txt


Please help!
Thanks

Last edited by Scrutinizer; 11-17-2018 at 06:08 PM.. Reason: code tags
# 2  
Old 11-17-2018
How about
Code:
$ for FN in 2007*.txt; do T1=${FN#*T}; T1=${T1%.*}; if (( T1 - 3000 < T2)); then echo $FN, $OFN; fi; OFN=$FN; T2=$T1; done
2007-12-28T000000.txt, 2007-12-27T153000.txt
2007-12-28T003000.txt, 2007-12-28T000000.txt

as a starting point?
# 3  
Old 11-19-2018
Quote:
Originally Posted by RudiC
How about
Code:
$ for FN in 2007*.txt; do T1=${FN#*T}; T1=${T1%.*}; if (( T1 - 3000 < T2)); then echo $FN, $OFN; fi; OFN=$FN; T2=$T1; done
2007-12-28T000000.txt, 2007-12-27T153000.txt
2007-12-28T003000.txt, 2007-12-28T000000.txt

as a starting point?

I tried but nothing appeared.


I am very new at unix. Please help Smilie
# 4  
Old 11-19-2018
No error msgs, obviously. Pls post the directory listing. Run the proposal witrh the -x (xtrace) option set, and post the output. What's your shell version?
# 5  
Old 11-19-2018
Quote:
Originally Posted by RudiC
No error msgs, obviously. Pls post the directory listing. Run the proposal witrh the -x (xtrace) option set, and post the output. What's your shell version?
Thank you
It works but it is not in the true order.

2007-12-28T000000.txt, 2007-12-27T153000.txt
2007-12-28T003000.txt, 2007-12-28T000000.txt


I want to files only like below;

2007-12-28T000000.txt, 2007-12-27T150000.txt
2007-12-28T003000.txt, 2007-12-27T153000.txt
# 6  
Old 11-19-2018
So - what did you change from post#3 to #5?


Date / time arithmetic is among the ugliest problems in IT. Try this slightly adapted version that IS NOT PREPARED to cross midnight:

Code:
for FN in 2007*.txt; do T1=${FN#*T}; T1=${T1%.*}; if (( T1 - 3000 <= T2)); then echo $OFN$'\n'$FN; fi; OFN=$FN; T2=$T1; done
2007-12-27T150000.txt
2007-12-27T153000.txt
2007-12-27T153000.txt
2007-12-28T000000.txt
2007-12-28T000000.txt
 2007-12-28T003000.txt


EDIT: seems to cross midnight, but is far from robust:



Code:
for FN in 2007*.txt; do T1=${FN#*T}; T1=${T1%.*}; if (( (240000 + 10#$T1 - 10#$T2) % 240000 <= 3000)); then echo $OFN$'\n'$FN; fi; OFN=$FN; T2=$T1; done
2007-12-27T150000.txt
2007-12-27T153000.txt
2007-12-28T000000.txt
2007-12-28T003000.txt


Last edited by RudiC; 11-19-2018 at 06:04 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Rm -rf file.txt~ included in the first step?

I need to shred and delete a file after a certain time. Therefore I use shred -z /path/to/file.txt | rm -rf /path/to/file.txtIt works well, but typing in that very directory ls -shiI still see the so called backup-copy lets say file.txt~ When running bleachbit it will disappear thoroughly.... (3 Replies)
Discussion started by: 1in10
3 Replies

2. UNIX for Dummies Questions & Answers

apache logging - show more information

is it possible to make apache log each user activity in its log file "access_log" i have a web application here that uses apache. in the apache log files, i see that it shows when requests are made to certain pages in my web application. but it doesn't show the user name of the person making... (1 Reply)
Discussion started by: SkySmart
1 Replies

3. Shell Programming and Scripting

How to make diff show differences one line at a time and not group them?

Is there a way to tell diff to show differences one line at a time and not to group them? For example, I have two files: file1: line 1 line 2 line 3 diff line 4 diff line 5 diff line 6 line 7 file2: line 1 line 2 line 3 diff. line 4 diff. line 5 diff. line 6 line 7 (13 Replies)
Discussion started by: mmr11408
13 Replies

4. SuSE

g++ build on SUSE 12.1, cannot open included file

Hello, I have a project that I have compiled on a number of linux systems including CentOS, Ubuntu, and Windows Cygwin. I am trying to build the project under SUSE 12.1. The make file runs allot of the way through, but then throws an error that an included file can't be opened. This is the... (4 Replies)
Discussion started by: LMHmedchem
4 Replies

5. Solaris

How to show time minus 60 minutes?

In Redhat it is easy.... date --date="60 minutes ago" How do you do this in Solaris? I got creative and got the epoch time but had problems.. EPOCHTIME=`truss date 2>&1 | grep "time()" | awk '{print $3 - 900}'` echo $EPOCHTIME TIME=`perl -e 'print scalar(localtime("$EPOCHTIME")),... (5 Replies)
Discussion started by: s ladd
5 Replies

6. UNIX for Dummies Questions & Answers

Shell Scripts - Show all directories with full information ( and no files)

Hello all, i'm stumped.... I need to list all directories with all there info and exclude the files, then vice versa. I am not sure if I need to string several ls commands together or how to even do that. I believe I need to do some variation of ls -l but need to figure out how to take out the... (5 Replies)
Discussion started by: citizencro
5 Replies

7. UNIX for Advanced & Expert Users

PATH included in .o file of device driver

Hello friends, I am building one driver related to wifi. When I am looking its hex dump, I can see that it is including a path to one particular file of kernel headers. It is as under. 6C 75 65 2E 0A 00 00 00 25 64 2E 25 64 2E 25 64 lue.....%d.%d.%d 2D 25 73 00 00 00 00 00 42 45... (4 Replies)
Discussion started by: linuxdevnoob
4 Replies

8. Shell Programming and Scripting

Show date/time with tail|grep command

Hi, I have a log file without date/time, and I want that everytime tail|grep find something it displays the date/time and the line. I have tried something like this command but without any luck to display the date/time: tail -F catalina.out | sed "s/^/`date `/" | egrep ... (6 Replies)
Discussion started by: julugu
6 Replies

9. Shell Programming and Scripting

grep to show date/time of file the string was found in.

I've seen several examples of grep showing the filename the string was found in, but what I really need is grep to show the file details in long format (like ls -l would). scenario is: grep mobile_number todays_files This will show me the string I'm after & which files they turn up in, but... (2 Replies)
Discussion started by: woodstock
2 Replies

10. Solaris

Can history commands show what time command executed

On Solaris 8 and 10 is there a way history command can show what time a particular command was executed. Pls reply. Thanks (2 Replies)
Discussion started by: Tirmazi
2 Replies
Login or Register to Ask a Question