Sponsored Content
Top Forums Shell Programming and Scripting Perl script for finding directories with mtime Post 302845535 by ajayram_arya on Wednesday 21st of August 2013 05:01:09 PM
Old 08-21-2013
Code Perl script for finding directories with mtime

Need assistance in the perl script . Below script gives me the results of all the files and directories with mtime with no issues . But i wanted to have a file and specify all the directory locations and use that file as reference and get results . Any ideas are highly Appreciated .

Code:
#!/usr/bin/perl -w

use warnings;
use strict;
use Time::Local;
use File::Copy;

my @dirs = ("<path1>","<path2>","<path3>");
my %seen;
while (my $pwd = shift @dirs) {
    opendir(DIR,"$pwd") or die "Cannot open $pwd\n";
    my @files = readdir(DIR);
    closedir(DIR);
    foreach my $file (@files) {
        if (-d $file and ($file !~ /^\.\.$ARGV[0]$/) and !$seen{$file}) {
            $seen{$file} = 1;
            push @dirs, "$pwd/$file";
        }
        next if ($file !~ /\.$ARGV[0]$/i);
        my $mtime = (stat("$pwd/$file"))[9];
        print   "$pwd \t $file \t", scalar(localtime($mtime));
        print "\n";
    }
}

here what i tried as an example and implemented the same on the main script . But it works with only one path not multiple paths
Code:
#!/usr/bin/perl

use strict;
use warnings;
open (my $fh, '<', 'test.txt') || die "Could not open test.txt: $!\n";
my @test = grep { $_ !~ /^#/ } <$fh>;
print @test;

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

perl package directories - what if the script is diff DIR to the one contain *.pm?

Hi there, say the package is in the ~/ and it's ~/packageFoo.pm I can use usePackage.pl in ~/ (~/usePackage.pl). Now, if I move it to ~/subDIR/usePackage.pl, the script won't work because it's not in the same DIR with packageFoo.pm How can i fix it? Thanks Gusla (1 Reply)
Discussion started by: gusla
1 Replies

2. Shell Programming and Scripting

Script for parsing directories one level and finding directories older than n days

Hello all, Here's the deal...I have one directory with many subdirs and files. What I want to find out is who is keeping old files and directories...say files and dirs that they didn't use since a number of n days, only one level under the initial dir. Output to a file. A script for... (5 Replies)
Discussion started by: ejianu
5 Replies

3. UNIX for Dummies Questions & Answers

(find) mtime vs. (unix) mtime

Hi I've made some test with perl script to learn more about mtime... So, my question is : Why the mtime from findfind /usr/local/sbin -ctime -1 -mtime -1 \( -name "*.log" -o -name "*.gz" \) -print are not the same as mtime from unix/linux in ls -ltr or in stat() function in perl : stat -... (2 Replies)
Discussion started by: hiddenshadow
2 Replies

4. Shell Programming and Scripting

Finding directory and sub-directories individual size in Perl

Hi, Can anyone redirect to an existing thread or provide some info on how to find the size of a directory and it's sub-directories using a single script ? I tried finding a similar thread but in vain. I'm a newbie and any help would be greatly appreciated. Thanks in advance. (3 Replies)
Discussion started by: ryder
3 Replies

5. Shell Programming and Scripting

Run perl script on files in multiple directories

Hi, I want to run a Perl script on multiple files, with same name ("Data.txt") but in different directories (eg : 2010_06_09_A/Data.txt, 2010_06_09_B/Data.txt). I know how to run this perl script on files in the same directory like: for $i in *.txt do perl myscript.pl $i > $i.new... (8 Replies)
Discussion started by: ad23
8 Replies

6. UNIX and Linux Applications

Perl Script to read an excel file into an array and search in the UNIX directories

Hi, I want the Perl script with versions 5.8.2 and 5.8.5 starting with #!/usr/bin/perl The Perl program should read the excel file or text file line by line and taking into an array and search in the UNIX directories for reference file of .jsp or .js or .xsl with path .The Object names... (2 Replies)
Discussion started by: pasam
2 Replies

7. Shell Programming and Scripting

Perl Script not working on all directories

Hi Folks, I have a script that I am using. The files are in Directory c:\files\change\options In that directory I have many other sub folders like R1 R2 R5 E4 etc... When I run this script in windows, It looks like its just changing the first folder R1 and not the rest. Can I get an... (6 Replies)
Discussion started by: richsark
6 Replies

8. Shell Programming and Scripting

Finding directories with expression

Hi All, I need your help in finding pattern of directories. need to search for all pattern have "mypatern" from base directory folder. example ------- server1 - base directory 100 server1/ab_123456_1/mypattern 100 server1/ab_123456_2/mypattern 200 server1/ab_123457_1/mypattern... (13 Replies)
Discussion started by: lxdorney
13 Replies

9. Shell Programming and Scripting

How to run perl script on multiple files of two directories?

Hi I have 100 files under file A labled 1.txt 2.txt.....100.txt(made up name) I have 1 files under file B labled name.txt How can i run the same perl script on 100 files and file name.txt I want to run perl script.pl A/1.txt B/name.txt perl script.pl A/2.txt B/name.txt ....... perl... (3 Replies)
Discussion started by: grace_shen
3 Replies

10. Shell Programming and Scripting

Perl: script to work with files with the same name in different directories

Hi All, I would like to use a Perl (not Bash) script to work with multiple files of the same name in different directories (all in the same parent directory). I tried to create a loop to do so, but it isn't working. My code so far: while (defined(my $file = glob("./*/filename.txt")) or... (1 Reply)
Discussion started by: elgo4
1 Replies
opendir(3C)						   Standard C Library Functions 					       opendir(3C)

NAME
opendir, fdopendir - open directory SYNOPSIS
#include <sys/types.h> #include <dirent.h> DIR *opendir(const char *dirname); DIR *fdopendir(int fildes); DESCRIPTION
The opendir() function opens a directory stream corresponding to the directory named by the dirname argument. The fdopendir() function opens a directory stream for the directory file descriptor fildes. The directory file descriptor should not be used or closed following a successful function call, as this might cause undefined results from future operations on the directory stream obtained from the call. Use closedir(3C) to close a directory stream. The directory stream is positioned at the first entry. If the type DIR is implemented using a file descriptor, applications will only be able to open up to a total of {OPEN_MAX} files and directories. A successful call to any of the exec functions will close any directory streams that are open in the calling process. See exec(2). RETURN VALUES
Upon successful completion, opendir() and fdopendir() return a pointer to an object of type DIR. Otherwise, a null pointer is returned and errno is set to indicate the error. ERRORS
The opendir() function will fail if: EACCES Search permission is denied for the component of the path prefix of dirname or read permission is denied for dirname. ELOOP Too many symbolic links were encountered in resolving path. ENAMETOOLONG The length of the dirname argument exceeds {PATH_MAX}, or a path name component is longer than {NAME_MAX} while {_POSIX_NO_TRUNC} is in effect. ENOENT A component of dirname does not name an existing directory or dirname is an empty string. ENOTDIR A component of dirname is not a directory. The fdopendir() function will fail if: ENOTDIR The file descriptor fildes does not reference a directory. The opendir() function may fail if: EMFILE There are {OPEN_MAX} file descriptors currently open in the calling process. ENAMETOOLONG Pathname resolution of a symbolic link produced an intermediate result whose length exceeds PATH_MAX. ENFILE Too many files are currently open on the system. USAGE
The opendir() and fdopendir() functions should be used in conjunction with readdir(3C), closedir(3C) and rewinddir(3C) to examine the con- tents of the directory (see the EXAMPLES section in readdir(3C)). This method is recommended for portability. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |opendir() is Standard; | | |fdopendir() is Evolving | +-----------------------------+-----------------------------+ |MT-Level |Safe | +-----------------------------+-----------------------------+ SEE ALSO
lstat(2), symlink(2), closedir(3C), readdir(3C), rewinddir(3C), scandir(3C), attributes(5) SunOS 5.11 26 Jun 2007 opendir(3C)
All times are GMT -4. The time now is 05:41 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy