The UNIX and Linux Forums  
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.

Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
.
google unix.com



Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts and shell scripting languages here.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
find files modified more than a day karthikn7974 Shell Programming and Scripting 2 08-18-2008 07:07 AM
Shell script to find out 2 last modified files in a folder..PLZ HELP!!!!!!!!! anju Shell Programming and Scripting 3 02-01-2008 01:47 AM
find files modified in a specific month omer_ome UNIX for Advanced & Expert Users 1 07-02-2006 10:43 AM
find files modified in a specific month omer_ome SUN Solaris 1 07-02-2006 10:38 AM
find files modified in a specific month omer_ome HP-UX 1 07-02-2006 10:36 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Search this Thread Rate Thread Display Modes
  #1 (permalink)  
Old 10-08-2008
tarunicon's Avatar
tarunicon tarunicon is offline
Registered User
  
 

Join Date: Oct 2008
Location: INDIA
Posts: 25
help: find and modified files script

hello all im a newbie in the linux world ..i have just started creating basic scripts in linux ..i am using rhel 5 ..the thing is i wanted to create a find script where i could find the last modified file and directory in the directory given as input by the user and storing the output in a file so i tried

echo"enter the file you want to search in";
read " " >> a;
/usr/bin/find echo $a -mtime +1 -exec basename {} >> modifies_files.txt \

please help me on this asap ..i can understand there are certain flaws in the script and would greatly appreciate the help
thank you
kumar
  #2 (permalink)  
Old 10-08-2008
vidyadhar85's Avatar
vidyadhar85 vidyadhar85 is offline Forum Staff  
Moderator(The Tutor)
  
 

Join Date: Jun 2008
Location: INDIA
Posts: 1,400
try using this..
Code:
 
read a?"enter the file you want to search in"
find . -name $a -mtime +1 -exec basename {} \;>>modifiedfiles
  #3 (permalink)  
Old 10-08-2008
treesloth treesloth is offline
Registered User
  
 

Join Date: Oct 2008
Location: Orem, Utah
Posts: 73
I don't know if this *has* to use find... I hope a different approach is OK. The ls command has the ability to sort by modification time. For example, the command ls -alt will sort by mod time, showing long format for all files.

I hope tcsh is acceptable... that's the shell that happened to pop to mind...

Code:
#!/bin/tcsh

echo -n "What directory do you want to check? "
set dir = $<

ls -alt $dir | tail +2 | head -n 1
That will output to the shell. It looked like you already know how to modift to send the output to a file instead, so I won't worry about that. Also, you might need to massage the tail value a little to get it working with your OS. If you post the exact output of ls -alt from your command line, we should be able to whip it into shape.
  #4 (permalink)  
Old 10-08-2008
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmer, author
  
 

Join Date: Mar 2007
Location: Toronto, Canada
Posts: 2,361
Code:
printf "%s: " "Enter the directory you want to search in"
IFS= read -r dir
cd "$dir" || exit 1
last_modified=$(
    ls -t | {
        IFS= read -r file
        printf "%s\n" "$file"
    } )
  #5 (permalink)  
Old 10-10-2008
tarunicon's Avatar
tarunicon tarunicon is offline
Registered User
  
 

Join Date: Oct 2008
Location: INDIA
Posts: 25
thanks vidyasagar , treesloth and cfajohnson ..u guys are awesome and truly rockstars ..well treesloth i tried running ur script it gave me some errors here was one of the outputs frm ur script

"What directory do you want to check? /usr/bin/tail: cannot open `+2' for reading: No such file or directory"

the script looked like this
#!/bin/bash /(Changed from /bin/tcsh to /bin/bash)/
echo -n "What directory do you want to check? ";
set dir = $;

/bin/ls -alt $dir | /usr/bin/tail +2 | /usr/bin/head -n 1 ;

i edited the file and put the whole path of the ls tail and head commands .
and the output of command ls -lrt is

total 128
-rw-r--r-- 1 root root 4478 Sep 17 08:28 install.log.syslog
-rw-r--r-- 1 root root 32645 Sep 17 08:28 install.log
-rw------- 1 root root 1232 Sep 17 08:28 anaconda-ks.cfg
-rw-r--r-- 1 root root 480 Sep 24 06:38 gvustudentsbatch1.txt
-rw-r--r-- 1 root root 78 Sep 26 07:32 a.txt
-rw-r--r-- 1 root root 66 Sep 26 07:37 b.txt
drwxr-xr-x 9 root root 4096 Oct 8 16:04 Desktop
-rw-r--r-- 1 root root 0 Oct 8 16:25 tarun
-rw-r--r-- 1 root root 0 Oct 8 16:26 a
-rwxrwxrwx 1 root root 81 Oct 8 18:44 latest.sh
drwxr-xr-x 2 root root 4096 Oct 8 18:46 untitled folder
-rwxrwxrwx 1 root root 122 Oct 10 16:12 mod.sh
-rwxrwxrwx 1 root root 191 Oct 10 16:15 mod1.sh



cfajohnson i tried running ur script too ..it ran perfectly fine it solved first part of desired result which i wanted ...but the thing is .i ran your script , it was asking for a input from the user ...after that the script exited and returned nothing..as in the script ran it asked me to enter the name of the directory i wanted to find the modified files in ..then the output was blank
here is the output
[root@server1 ~]# ./mod1.sh /(i renamed the script as mod1.sh)/
Enter the directory you want to search in: /root /(i gave /root directory)/
[root@server1 ~]#
  #6 (permalink)  
Old 10-10-2008
tarunicon's Avatar
tarunicon tarunicon is offline
Registered User
  
 

Join Date: Oct 2008
Location: INDIA
Posts: 25
help

guys it would be awesome ..if some one can guide me ...what should i do....
  #7 (permalink)  
Old 10-10-2008
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmer, author
  
 

Join Date: Mar 2007
Location: Toronto, Canada
Posts: 2,361
Quote:
Originally Posted by tarunicon View Post
cfajohnson i tried running ur script too ..it ran perfectly fine it solved first part of desired result which i wanted ...but the thing is .i ran your script , it was asking for a input from the user ...after that the script exited and returned nothing..as in the script ran it asked me to enter the name of the directory i wanted to find the modified files in ..then the output was blank

The script I posted stores the result in a variable so that you can work with it.

If you want to display the result, add a printf statement to do so.

Closed Thread

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On




All times are GMT -4. The time now is 12:19 AM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
The UNIX and Linux Forums Content Copyright ©1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant URLs by vBSEO 3.2.0