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
![]() |
![]() |