10-28-2002
a typical ls output looks like this...
-rw-r----- 1 ltaber wheel 1876 Mar 28 16:55 tmp
assuming the time stamp is the 8th field and file is 9 th field (check this out)
I don't have UNIX shell with me at present... but try listing with this loop...
----------------------------------------------------------
for lsout in `ls -l`
do
hours=`echo $lsout | cut -d " " -f 8 | cut -d ":" -f 1`
filetodelete=`echo $lsout | cut -d " " -f 9`
if [ $hours -lt 19 -o $hours -ge 20 ]
then
echo $filetodelete
fi
done
----------------------------------------------------------
I hope you got what I'm trying to do...
if the above code lists the files you wanted to delete ( you may need to make some modifications )... you can replace the echo with a "rm -f $filetodelete"
the above scheme will work if none your files are older than 6 months.. because ls -l will not list time stamp if a file is older than 6 months... also I assume that none of your files is having spaces in its name...
wish to see better ways for this...
Cheers!
Vishnu.
Last edited by Vishnu; 10-28-2002 at 03:34 PM..
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I would like to list latest 2 days, 3 days or 4 days,etc of files in the directory...
how? is it using ls? (3 Replies)
Discussion started by: happyv
3 Replies
2. UNIX for Dummies Questions & Answers
HI All,
I have recuirement to purge the files in a directory . In that directory i an having many sub-directory .
When i use find command like
find ~/work/test/insert -name "*.*" -mtime +12
it is listing the file not accesed before 12 , It also takes the subdirectories inside the... (7 Replies)
Discussion started by: arunkumar_mca
7 Replies
3. Shell Programming and Scripting
Dear All,
I have the followoing requirement..
REQ-1:
Suppose I have the following files
XX_20070202000101.zip
XX_20080223000101.zip
XX_20080226000101.zip
XX_20080227000101.zip
XX_20080228000101.zip
XX_20080229000101.zip
Suppose sysdate = 29 Feb 2007
I need to delete all files... (3 Replies)
Discussion started by: sureshg_sampat
3 Replies
4. Shell Programming and Scripting
I need some help with the logic and syntax for a shell script (ksh) that will search a directory and look for similar files and save only the last two versions. The version number is in the file name. However, the files are of varying name lengths and may have 1 or many files, with no limit to... (6 Replies)
Discussion started by: synergy_texas
6 Replies
5. Shell Programming and Scripting
I'm new to shell scripting... i have been given a task.. can any one help in this regard....
1) Check hourly for files in <destination-path><destination-file-template><destination-file-suffix> for files older than <destination-file-retention> days and purge. It should then check... (1 Reply)
Discussion started by: satishpabba
1 Replies
6. Shell Programming and Scripting
Hi.
I need a script (either bash or perl) that can delete previous versions of files.
For instance, from our continuous build process I get directories such as
build5_dev_1.21
build5_dev_1.22
build5_dev_1.23
build5_dev_1.24
I need a script that I can run every night (using "at"... (6 Replies)
Discussion started by: jbsimon000
6 Replies
7. Shell Programming and Scripting
I have directory where new sub directories and files being created every few minutes. The directories are like abc_date, def_date, ghi_date. I am looking to keep the latest 2 unique directories and delete everything else.
Here is what I have so far
This gives me unique names excluding the... (5 Replies)
Discussion started by: zzstore
5 Replies
8. Shell Programming and Scripting
Hi Friends,
I have an urgent requirement.
I have many files huge in size which has occupied almost the entire disk space. The files are not being moved to the archived folder.
But at present I need to purge those files, new to shell scripting, not sure how to proceed.
Eg.
Directory... (3 Replies)
Discussion started by: unx100
3 Replies
9. Shell Programming and Scripting
Hi Friends,
Very new in Unix and i got a requirement like writing a script and schedule it, so that it removes 30 days old files from all the log locations of a unix box.
Suppose i have a unix server ltbamdev1 and in this server i have a mount point opt/bam. In this mount point i have 3... (1 Reply)
Discussion started by: duos
1 Replies
10. Shell Programming and Scripting
Hello All,
I am trying to purge X old days of files from directory & Sub directories
./2016-01-13/1500/abc.txt
./2016-01-14/1605/caf.txt
./2016-01-14/1605/caf2.txt
./2016-01-14/1606/eaf.txt
.....
./2017-08-1/1701/
Should also remove directories and sub directories too
Expected... (7 Replies)
Discussion started by: krux_rap
7 Replies
BASENAME(3) 1 BASENAME(3)
basename - Returns trailing name component of path
SYNOPSIS
string basename (string $path, [string $suffix])
DESCRIPTION
Given a string containing the path to a file or directory, this function will return the trailing name component.
PARAMETERS
o $path
- A path. On Windows, both slash ( /) and backslash ( ) are used as directory separator character. In other environments, it is
the forward slash ( /).
o $suffix
- If the name component ends in $suffix this will also be cut off.
RETURN VALUES
Returns the base name of the given $path.
EXAMPLES
Example #1
basename(3) example
<?php
echo "1) ".basename("/etc/sudoers.d", ".d").PHP_EOL;
echo "2) ".basename("/etc/sudoers.d").PHP_EOL;
echo "3) ".basename("/etc/passwd").PHP_EOL;
echo "4) ".basename("/etc/").PHP_EOL;
echo "5) ".basename(".").PHP_EOL;
echo "6) ".basename("/");
?>
The above example will output:
1) sudoers
2) sudoers.d
3) passwd
4) etc
5) .
6)
NOTES
Note
basename(3) operates naively on the input string, and is not aware of the actual filesystem, or path components such as " ..".
Note
basename(3) is locale aware, so for it to see the correct basename with multibyte character paths, the matching locale must be set
using the setlocale(3) function.
SEE ALSO
dirname(3), pathinfo(3).
PHP Documentation Group BASENAME(3)