| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: Unix scripting need help
> For example, my files are like these
>
> mylogfile001.log
> mylogfile002.log
>
> I want to initialize my variables with those number, like this
>
> i=1
> for all_file in `ls -1 /tmp`
> do
>
> file$i=all_file
> i=i+1
> done
>
> file_tag1=`unix_command $file1 ` <--- help me here
>
> when I do
>
> echo $file_tag1
>
> it should give me 001
Is your purpose to simply display the numbers or to generate the maximum in order to start naming new files?
If the latter seriously consider using a timestamp:
i=$(date +%Y%m%d%H%M%S);
this solves all of the math for you automaticlly. A onesecond sleep at the start of your program guarantees that you will not re-use the names.
To get the digit strings out you could use sed or perl:
i=$( echo $file | sed -e 's/[^0-9]*//g' )
or use perl for the code instead of shell:
for( @ARGV )
{
my ($i ) = /(\d+)/;
Print "File and number: $_, $i\n";
}
--
Steven Lembark 2930 W. Palmer
Workhorse Computing Chicago, IL 60647
+1 800 762 1582
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: Steven Lembark
INET: lembark_at_wrkhors.com
Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051
San Diego, California -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).
Received on Mon Aug 26 2002 - 08:58:23 CDT
![]() |
![]() |