Gzipping several files individually and renaming using datetimestamp
I currently have a batch job that performs many functions. Two of them are below. I was wondering how this can be done in a custom class
mv $TEMPDIR/$FILE $TEMPDIR/$FILEa"_$DATESTAMP.txt"
mv $TEMPDIR/$FILE1 $TEMPDIR/$FILE1a"_$DATESTAMP.txt"
mv $TEMPDIR/$FILE2 $TEMPDIR/$FILE2a"_$DATESTAMP.txt"
mv $TEMPDIR/$FILE3 $TEMPDIR/$FILE3a"_$DATESTAMP.txt"
mv $TEMPDIR/$FILE4 $TEMPDIR/$FILE4a"_$DATESTAMP.txt"
#Gzip files
find $TEMPDIR -type f ! -iname '*gz' -exec gzip '{}' \;
Thank you
Comments
Example with one file for Windows:
<FONT COLOR="#000080">Class dc.test </FONT><FONT COLOR="#000000">[ </FONT><FONT COLOR="#000080">Abstract </FONT><FONT COLOR="#000000">]
{
</FONT><FONT COLOR="#000080">/// d ##class(dc.test).test()
ClassMethod </FONT><FONT COLOR="#000000">test()
{
</FONT><FONT COLOR="#0000ff">s </FONT><FONT COLOR="#800000">ts</FONT><FONT COLOR="#000000">=</FONT><FONT COLOR="#000080">##class</FONT><FONT COLOR="#000000">(</FONT><FONT COLOR="#008080">%PosixTime</FONT><FONT COLOR="#000000">).</FONT><FONT COLOR="#0000ff">LogicalToUnixTime</FONT><FONT COLOR="#000000">(</FONT><FONT COLOR="#000080">##class</FONT><FONT COLOR="#000000">(</FONT><FONT COLOR="#008080">%PosixTime</FONT><FONT COLOR="#000000">).</FONT><FONT COLOR="#0000ff">CurrentUTCTimeStamp</FONT><FONT COLOR="#000000">()),
</FONT><FONT COLOR="#800000">oldName</FONT><FONT COLOR="#000000">=</FONT><FONT COLOR="#008000">"C:\Tmp\test"</FONT><FONT COLOR="#000000">,
</FONT><FONT COLOR="#800000">newName</FONT><FONT COLOR="#000000">=</FONT><FONT COLOR="#800000">oldName</FONT><FONT COLOR="#000000">_</FONT><FONT COLOR="#0000ff">$$$FormatText</FONT><FONT COLOR="#000000">(</FONT><FONT COLOR="#008000">"a%1.txt"</FONT><FONT COLOR="#000000">,</FONT><FONT COLOR="#800000">ts</FONT><FONT COLOR="#000000">)
</FONT><FONT COLOR="#0000ff">s </FONT><FONT COLOR="#800000">f</FONT><FONT COLOR="#000000">=</FONT><FONT COLOR="#000080">##class</FONT><FONT COLOR="#000000">(</FONT><FONT COLOR="#008080">%Stream.FileBinary</FONT><FONT COLOR="#000000">).</FONT><FONT COLOR="#0000ff">%New</FONT><FONT COLOR="#000000">()
</FONT><FONT COLOR="#0000ff">d </FONT><FONT COLOR="#800000">f</FONT><FONT COLOR="#000000">.</FONT><FONT COLOR="#0000ff">LinkToFile</FONT><FONT COLOR="#000000">(</FONT><FONT COLOR="#800000">oldName</FONT><FONT COLOR="#000000">)
</FONT><FONT COLOR="#0000ff">s </FONT><FONT COLOR="#800000">gz</FONT><FONT COLOR="#000000">=</FONT><FONT COLOR="#000080">##class</FONT><FONT COLOR="#000000">(</FONT><FONT COLOR="#008080">%Stream.FileBinaryGzip</FONT><FONT COLOR="#000000">).</FONT><FONT COLOR="#0000ff">%New</FONT><FONT COLOR="#000000">()
</FONT><FONT COLOR="#0000ff">s </FONT><FONT COLOR="#800000">gz</FONT><FONT COLOR="#000000">.</FONT><FONT COLOR="#0000ff">Filename</FONT><FONT COLOR="#000000">=</FONT><FONT COLOR="#800000">newName
</FONT><FONT COLOR="#0000ff">d </FONT><FONT COLOR="#800000">gz</FONT><FONT COLOR="#000000">.</FONT><FONT COLOR="#0000ff">CopyFromAndSave</FONT><FONT COLOR="#000000">(</FONT><FONT COLOR="#800000">f</FONT><FONT COLOR="#000000">)
</FONT><FONT COLOR="#0000ff">d </FONT><FONT COLOR="#000080">##class</FONT><FONT COLOR="#000000">(</FONT><FONT COLOR="#008080">%File</FONT><FONT COLOR="#000000">).</FONT><FONT COLOR="#0000ff">Delete</FONT><FONT COLOR="#000000">(</FONT><FONT COLOR="#800000">oldName</FONT><FONT COLOR="#000000">)
}
}</FONT>
Hi,
Thanks so much for the quick response. We are actually on Suse Linux and there are multiple(5) files.
Thank you
Lou