Looking at your question again, I had it in reverse. My code was moving all files create AFTER the one in question. Does "created" mean also "modified". In UNIX, you don't actually know when a file was "created". You just know when the data was modified and when the meta-file info ("inode") was modified. If you change the file's permissions or ownership, you will change the meta-file info.
My code also renamed the files with the number of seconds since 1970, rather than in the format you wanted. So, improving on my original version:
Code:
get_filetime()
{
find . -name "$1" -printf "%TY%Tm%Td%TH%TM%TS\n"
}
cd $TARGET_DIR
touch __stop__$$
ls -lt | grep '^-' | awk '/__stop__'$$'$/ { start=1 } start,0' |
while read file; do
filetime=`get_filetime $file`
mv $file $NEWDIR/$file_$filetime
done
rm -f __stop__$$
I have a program that will export my data to a single file, but it assigns a file name that is overridden every time I run the program. I need to change the file name to have a sequential number in the filename.
How do I rename a file so that the filename contains the system date and time. I want... (5 Replies)
Greetings,
I know i can use the mv command to move and rename one file. How can I do this with multiple files?
example
pic01.bmp to pic0001.bmp
how can i perform this function on an entire directory of sequential files and keep them in sequence?
Hints, suggestions are most welcome:)
... (1 Reply)
Hi,
I have a fixed 4 files in each different directory. The total 17 directories are there each one having 4 files inside it. I need rename all of them with current date. The files formates will be as below:
Folder1:
abc_NOR_xyz_ddmmyyyy.txt
abc_NOR_ghij_ddmmyyyy.txt
Folder2:... (5 Replies)
I am a biologist and using an program on a computer cluster that generates a lot of data. The program creates a directory named
ExperimentX (where X is a number) that contains files "out.pdb" and "log.txt". I would like to create a script that renames the out.pdb file to out_ExperimentX.pdb (or... (1 Reply)
Hi,
I want to add some hours and minutes to the current date. For example, if the current date is "July 16, 2012 15:20", i want to add 5 hours 30 minutes to "July 16, 2012 00:00" not to "July 16, 2012 15:20". Please help.
Thanks! (4 Replies)
Hi Folks,
My server time is in EDT. And i am sending automated mails from that server in which i need to display the current date time as per IST (GMT+5:30). Please advice how to display the date time as per IST.
IST time leads 9:30 mins to EDT. and i wrote something like below.
... (6 Replies)
Hello,
i am trying to rename a folder named 'cpbackup' to current date in our WHM Root via setting up a cronetab entry. but the folder does not get renamed on the scheduled time :confused:
*/1 * * * * timestamp=$(date +%m%d%Y);/bin/mv /ac_backups/cpbackup /ac_backups/$timestamp (4 Replies)
I have a directory full of directories, say called A B C D E ....
In each of these directories there are files called 1.dsp 2.dsp 3.dsp ..... along with others (with different extensions)
I need to go through each of these directories and move the dsp file to another folder, but with the name now... (6 Replies)
I have to display only those subscribers which are in "unconnected state" and the date is 90 days older than today's date.
Below command is used for this purpose:
cat vfsubscriber_20170817.csv | sed -e 's/^"//' -e '1d' | nawk -F '",' '{if ( (substr($11,2,4) == 2017) && ( substr($11,2,8) -lt... (1 Reply)
Discussion started by: dia
1 Replies
LEARN ABOUT SUSE
file::listing
File::Listing(3) User Contributed Perl Documentation File::Listing(3)NAME
File::Listing - parse directory listing
SYNOPSIS
use File::Listing qw(parse_dir);
$ENV{LANG} = "C"; # dates in non-English locales not supported
for (parse_dir(`ls -l`)) {
($name, $type, $size, $mtime, $mode) = @$_;
next if $type ne 'f'; # plain file
#...
}
# directory listing can also be read from a file
open(LISTING, "zcat ls-lR.gz|");
$dir = parse_dir(*LISTING, '+0000');
DESCRIPTION
This module exports a single function called parse_dir(), which can be used to parse directory listings.
The first parameter to parse_dir() is the directory listing to parse. It can be a scalar, a reference to an array of directory lines or a
glob representing a filehandle to read the directory listing from.
The second parameter is the time zone to use when parsing time stamps in the listing. If this value is undefined, then the local time zone
is assumed.
The third parameter is the type of listing to assume. Currently supported formats are 'unix', 'apache' and 'dosftp'. The default value
'unix'. Ideally, the listing type should be determined automatically.
The fourth parameter specifies how unparseable lines should be treated. Values can be 'ignore', 'warn' or a code reference. Warn means
that the perl warn() function will be called. If a code reference is passed, then this routine will be called and the return value from it
will be incorporated in the listing. The default is 'ignore'.
Only the first parameter is mandatory.
The return value from parse_dir() is a list of directory entries. In a scalar context the return value is a reference to the list. The
directory entries are represented by an array consisting of [ $filename, $filetype, $filesize, $filetime, $filemode ]. The $filetype value
is one of the letters 'f', 'd', 'l' or '?'. The $filetime value is the seconds since Jan 1, 1970. The $filemode is a bitmask like the
mode returned by stat().
CREDITS
Based on lsparse.pl (from Lee McLoughlin's ftp mirror package) and Net::FTP's parse_dir (Graham Barr).
perl v5.12.1 2008-09-24 File::Listing(3)