Visit Our UNIX and Linux User Community


List only the recent log files


 
Thread Tools Search this Thread
Operating Systems AIX List only the recent log files
# 1  
Old 11-11-2009
List only the recent log files

Hi Friends,

I have a list of files in a directory as shown below. It is basically in this format-> yymmdd.hhmmss.filename.out

Quote:
$ ls -ltr
total 0
-rw-r--r-- 1 sudvishw ghgroup 0 Nov 11 03:58 091104.021020.a.out
-rw-r--r-- 1 sudvishw ghgroup 0 Nov 11 03:59 091104.021110.a.out
-rw-r--r-- 1 sudvishw ghgroup 0 Nov 11 03:59 091104.031020.a.out
-rw-r--r-- 1 sudvishw ghgroup 0 Nov 11 04:00 091104.031110.b.out
-rw-r--r-- 1 sudvishw ghgroup 0 Nov 11 04:00 091104.031505.b.out
-rw-r--r-- 1 sudvishw ghgroup 0 Nov 11 04:00 091104.041555.c.out

I want to list the latest log of each file. ie. the lastest a.out, b.out, c.out, which means I am looking for only the below 3 files out of these 5 files:

Quote:
091104.031020.a.out
091104.031505.b.out
091104.041555.c.out
All I can think of is have the file names, a.out, b.out, c.out in a input file and have a for loop. The loop would grep for the file name and take the latest one; it is something like,

Quote:
ls -ltr | grep "a.out" | tail -1
I want to know if we have any other smarter way of doing this without using any loops as the number of files to scan are more.

Last edited by sudvishw; 11-11-2009 at 08:04 AM..
# 2  
Old 11-11-2009
Try this:

Code:
ls -lt | 
awk -F "[ .]" 'a[$11]{next}
{a[$11]=1;print $9, $10, $11, $12}' OFS="." | sort -t. -k3

# 3  
Old 11-11-2009
Thank you very much

Hi,
It worked out fine. I did a small change with the code you gave as shown below:
Quote:
ls -lt | awk '{print $9}' |awk -F. 'a[$3]{next}{a[$3]=1;print $1, $2, $3, $4}' OFS="." | sort -t. -k3
I am not sure why awk -F"[ .]" did not work. I got just "..." as output when I used it.

Thank you very much for you help. I really appreciate your brilliance.
# 4  
Old 11-11-2009
"ls -lut" might be better (assuming you really want the latest used rather than just latest created)

Previous Thread | Next Thread
Test Your Knowledge in Computers #715
Difficulty: Easy
A stored-program computer is a computer that stores program instructions on external hard drives..
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Cron job that checks for new/recent files

I'm new to shell scripting, and I want to set up a cron job that scans the date/time stamp of all files in a directory, and then if any file is, say, less than 10 minutes old, I want it to execute a command on that file. What would be the best way to go about this? Thanks. Not sure if it makes a... (1 Reply)
Discussion started by: DavidHoffman
1 Replies

2. Shell Programming and Scripting

How to rename (move) most recent files in directory?

I'm using cygwin32 on Windows. DN is an environment variable pointed at my download directory. This command works to move the single most recent file in my download directory to my current directory: mv "`perl -e '$p = $ARGV; opendir $h, $p or die "cannot opendir $p: $!"; @f = sort { -M $a... (2 Replies)
Discussion started by: siegfried
2 Replies

3. Shell Programming and Scripting

Find most recent files in dirs and tar them up?

Hey all.. This should be simple but stoopid here can't get head around it! I have many directories, say 100 each with many files inside. I need a script to traverse through the dirs, find most recent file in each dir and add it to a tar file. I can find the files with something like for... (1 Reply)
Discussion started by: bobdung
1 Replies

4. UNIX for Advanced & Expert Users

Back up of recent modified files

Hi, I want to identify the files that are recently modified or with in a specified period (15 Days) in UNIX box. After identifying the files should be transferred to windows machine through FTP. The files should be overwritten in windows if it is already available. Please help... (1 Reply)
Discussion started by: lathish
1 Replies

5. UNIX for Dummies Questions & Answers

sort biggest most recent files

if i am in /tmp file, and i have a few DIRs under /tmp. i want to find the biggest and most recent files (from 7 days ago) in /tmp and subfolders. (3 Replies)
Discussion started by: tjmannonline
3 Replies

6. Shell Programming and Scripting

Kron Shell: deleting all but most recent log files

I am trying to create a Korn Shell script to be run every 5-10 minute from a crontab. This script needs to look for log files (transaction_<date>.log). If there are more than 5 such files, it needs to delete all but the most current 5. How often these files are create varies - can be every minute... (2 Replies)
Discussion started by: WmShaw
2 Replies

7. OS X (Apple)

How do you list the most recent files writen to a volume

Hi, I have a couple of xRaids and recently over night something happened on one of the volumes which maxed out all the disk space. What is the shell command to list the most recent files written to a volume as there are like millions of files on this share. I'm thinking along the lines of... (1 Reply)
Discussion started by: williamhsman
1 Replies

8. Shell Programming and Scripting

Get Files from ftp which are uploaded recent week

Hi All, Here is a brief scenario for my requirement .. There is a directory in FTP Server, where would files be uploaded on weekly basic. I need to get those files which are uploaded during this week and not the files which are uploaded the previous week and download them to locale... (1 Reply)
Discussion started by: narramadan
1 Replies

9. Shell Programming and Scripting

To keep only the most recent files

Hi all, I'm running on a Sun Solaris machine. I would only want to keep the last 2 most recent files on 1 of my directory. Below shows my script, but it is incomplete. For the ?? part I do not know how to continue. please help:confused: DIR=/tmp/abc OUTPUT=/tmp/output.out... (1 Reply)
Discussion started by: *Jess*
1 Replies

10. Shell Programming and Scripting

delete files except most recent

#!/bin/ksh -xvf for arch_filename in `ls -lrt /u02/oracle/CMDR/archive | awk '{print $9}'`; do echo "rm -rf /u02/oracle/CMDR/archive/"$arch_filename rm -rf /u02/oracle/CMDR/archive/$arch_filename done I am running the above shell script every 10 minutes. I need to not delete the... (5 Replies)
Discussion started by: ST2000
5 Replies

Featured Tech Videos