Sponsored Content
Top Forums UNIX for Dummies Questions & Answers extracting and using date from filenames in a loop Post 302230429 by badg3r on Friday 29th of August 2008 11:32:02 AM
Old 08-29-2008
In the couple of hours between submitting question for moderation and posting I have written the following

Code:
#Get list of unique dates for which we have files for
for dates in `ls *0* |grep -v $TODAY|grep -v $TODAYmin1|grep -v $TODAYmin2|grep -v $TODAYmin3| cat | tr "_" " " | awk '{print substr($3,1,8)}' | sort -u`
do
#Tar into daily archives
tar -cvf ${dates}.tar *${dates}*.dat
#Compress it
gzip ${dates}.tar

#Check the arc directory exists or make it
if [ -d $ARC_DIR ]
then
echo "This dirname [$ARC_DIR] exists"
else
echo "[$ARC_DIR] does not exist creating"
mkdir arc
fi 

#Move it into Arc directory
mv ${dates}.tar.gz arc/
#exit inner loop
done

#Now we must delete files outside of the retention period $3
#find arc/*.gz -mtime +{$RETENTION_PERIOD} -exec rm {} \;
find arc/*.gz -mtime +{$DAILY_RETENTION_PERIOD} -exec ls -rtl {} \;

cd ${BASE_DIR}
#loop

#exit outer loop
done

Which works fine, but thank you anyways.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

changing filenames in a directory to a number within a loop

hey guys. i'm new to shell scripting but not new to programming. i want to write a script that will take all the files in the current directory that end with a particular filetype and change all their names to a number in order. so, it would take all the jpg files and sort them in alphabetical... (30 Replies)
Discussion started by: visitorQ
30 Replies

2. Shell Programming and Scripting

Perl: Extracting date from file name and comparing with current date

I need to extract the date part from the file name (20080221 in this ex) and compare it with the current date and delete it, if it is a past date. $file = exp_ABCD4_T-2584780_upto_20080221.dmp.Z really appreciate any help. thanks mkneni (4 Replies)
Discussion started by: MKNENI
4 Replies

3. Shell Programming and Scripting

loop through numbered filenames

Hi I'm very new to this script thing, so please be gentle. I am trying to get a command - the mach2qtl command in the code below - to loop through a set of files. Each command should take the same two .dat and .ped files, but the .mlinfo and .mlprob files with filenames including 'chrom1' ... (7 Replies)
Discussion started by: polly_falconer
7 Replies

4. Shell Programming and Scripting

Whitespace in filenames in for loop in bash script

I'm trying to search all .odt files in a directory for a string in the text of the file. I've found a bash script that works, except that it can't handle whitespace in the filenames. #!/bin/bash if ; then echo "Usage: searchodt searchterm" exit 1 fi for file in $(ls *.odt); do ... (4 Replies)
Discussion started by: triplemaya
4 Replies

5. Shell Programming and Scripting

How to extract date out of this filenames

I have filenames filenameA_fg_MMDDYY.tar.gz filenameASPQ_fg_MMDDYY.tar.gz filenameAFTOPHYYINGH_fg_MMDDYY.tar.gz filenameAGHYSW_fg_MMDDYY.tar.gz Is there a way I can extract the date out of these filenames? Thanks in advance (2 Replies)
Discussion started by: RubinPat
2 Replies

6. Shell Programming and Scripting

Extracting filenames

Hi I need to pull out the name of the file from the path. See, here is my loop that gets the files: dsxdir="/var/local/dsx/import" for dsxfile in $dsxdir/*.dsx; do dsxlog $reverb --info --module="$module" "$dsxfile" $dsximp $norule $oprange --dsn=$dsn --dbname=$dbname... (6 Replies)
Discussion started by: ladyAnne
6 Replies

7. UNIX for Dummies Questions & Answers

Searching by date range from filenames

Hello all, i have tons of files in folder named like this (yyyymmdd): bookcollection20100729 bookcollection20100730 bookcollection20100731 bookcollection20100801 bookcollection20100802 etc. I need to find files with date range in there names lets say from 2010.07.30 - 2010.08.02 ... (10 Replies)
Discussion started by: Whit3H0rse
10 Replies

8. Shell Programming and Scripting

Generate filenames in a loop

Hi all, I want to generate output files in a loop, run the same command on the same input file 1000 times and output in files with a new name each time, maybe a number appended to it. The output will be different each time as I`m sampling randomly from the input file. I want to do the... (3 Replies)
Discussion started by: newbie83
3 Replies

9. Shell Programming and Scripting

For/While Loop to Increment Filenames in a Script

Daily stupid question. I want to increment the file name everytime the script is run. So for example if the filename is manager.log and I run the script, I want the next sequence to be manager.log1. So to be clear I only want it to increment when the script is executed. So ./script... (10 Replies)
Discussion started by: metallica1973
10 Replies

10. Shell Programming and Scripting

Appending date to UNIX Filenames

Hello, I have a file name in the below format and have to append the date as _$currdate. kchik_UK_lo.txt_$currdate. The above should be the format and I dont want to put entire filename as above in the code, but it should give me the output as the above filename.Can anyone please help... (7 Replies)
Discussion started by: harika03
7 Replies
ar(1)							      General Commands Manual							     ar(1)

Name
       ar - archive and library maintainer

Syntax
       ar option [ posname ] archive file ...

Description
       The archiver ar maintains groups of files as a single archive file.  This utility is generally used to create and update library files that
       the link editor uses; however, you can use the archiver for other similar purposes.  This version uses a portable ASCII-format archive that
       you can use on various machines that run UNIX.  If you have an archive that uses an older format, see

Options
       This  section  describes the options and suboptions that you can use with the ar utility.  Suboptions must be specified with options.  Fol-
       lowing is a list and description of the options:

       d      Deletes the specified files from the archive file.

       r      Replaces the specified files in the archive file.  If you use the suboption u with r, the archiver only replaces	those  files  that
	      have  last-modified  dates later than the archive files.	If you use a positioning character (from the set abi) you must specify the
	      posname argument to tell the archiver to put the new files after (a) or before (b or i).	Otherwise, the archiver puts new files	at
	      the end of the archive.

       q      Appends  the specified files to the end of the archive file.  The archiver does not accept suboption positioning characters with the
	      q option.  It also does not check whether the files you want to add already exist in the archive.  Use the q option  only  to  avoid
	      quadratic behavior when you create a large archive piece by piece.

       t      Prints  a  table of contents for the files in the archive file.  If you do not specify any filenames, the archiver builds a table of
	      contents for all files.  If you specify filenames, the archiver builds a table of contents only for those files.

       p      Prints the specified files from the archive.

       m      Moves the specified files to the end of the archive.  If you specify a positioning character, you must also specify the posname  (as
	      in option r) to tell the archiver where to move the files.

       x      Extracts	the  specified	files  from  the  archive.  If you do not specify any filenames, the archiver extracts all files.  When it
	      extracts files, the archiver does not change any file.  Normally, the last-modified date for each extracted file shows the date when
	      someone extracted it; however, when you use o, the archiver resets the last-modified date to the date recorded in the archive.

       s      Makes a symbol definition (symdef file) as the first file of an archive.	This file contains a hash table of ranlib structures and a
	      corresponding string table. The symdef file's name is based on the byte ordering of the hash table and  the  byte  ordering  of  the
	      file's target machine.  Files must be consistent in their target byte ordering before the archiver can create a symdef file.  If you
	      change the archive contents, the symdef file becomes obsolete because the archive file's	name  changes.	 If  you  specify  s,  the
	      archiver	creates the symdef file as its last action before finishing execution.	You must specify at least one other archive option
	      (m, p, q, r, or t) when you use the s option.  For UMIPS-V, archives include member objects based on  the  definition  of  a  common
	      object only.  For UMIPS-BSD, they define the common object, but do not include the object.

       v      Gives  a	file-by-file description as the archiver makes a new archive file from an old archive and its constituent files.  When you
	      use this option with t, the archiver lists all information about the files in the archive.  When you use this  option  with  p,  the
	      archiver precedes each file with a name.

       c      Suppresses  the  normal message that the archiver prints when it creates the specified archive file.  Normally, the archiver creates
	      the specified archiver file when it needs to.

       l      Places temporary files in the local directory.  If the l option is not used then the value of the  environment  symbol,  TMPDIR,	is
	      used  as the directory for temporary files.  If TMPDIR is not defined or if the directory it references is not writable then /tmp is
	      used.

       The suboptions do these things:

       a      Specifies that the file goes after the existing file (posname).  Use this suboption with the m or r options.

       b      Specifies that the file goes before the existing file (posname).	Use this suboption with the m or r options.

       i      Specifies that the file goes before the existing file (posname).	Use this suboption with the m or r options.

       o      Forces a newly created file to have the last-modified date that it had before it was extracted from the archive.	Use this suboption
	      with the x option.

       u      Prevents	the archiver from replacing an existing file unless the replacement is newer than the existing file.  This option uses the
	      UNIX system last modified date for this comparison.  Use this suboption with the r option.

Restrictions
       If you specify the same file twice in an argument list, it can appear twice in the archive file.

       The o option does not change the last-modified date of a file unless you own the extracted file or you are the superuser.

       This command truncates filenames to 15 characters.

Files
       /tmp/v*	 temporaries

See Also
       lorder(1), ld(1), odump(1), ranlib(1), ranhash(3x), ar(5), arcv(8)

								       RISC								     ar(1)
All times are GMT -4. The time now is 09:07 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy