Hello I am new to Unix. Please help me out.
My Scenario:
I am first collecting all the file names present in the directory with structure myinfo/yourinfo/supplierinfo
I have four files with the names myCollector.java, yourCollector.java, someCollector.java, everyCollector.java. in the directory.
I am reading the file name and i am getting myinfo/yourinfo/supplierinfo/myCollector.java. and the such string for other files.
I am spliting it to get only substring "myCollector" from the above string which is stored in variable progexe.
How can i access this variable outside awk so that i can run that java class.
#!/bin/bash
source ~/.login
progexearr=""
pruneclass=""
pruneclass="$(find myinfo/yourinfo/supplierinfo -name "*llector.java*")"
echo "$pruneclass"| awk '{
z=split($0,flds," ")
for(i=1;i<=z;i++)
progcompile=flds[i]
p2 = length(progcompile)
exetemp=substr(progcompile,41,p2)
progexe=substr(exetemp,0,length(exetemp)-5) [inline] # Please dont worry about the above code [/inline]
progexearr[i]=progexe
print progexe [inline] # i am getting myCollector, yourCollector,someCollector and everyCollector. How can i access the value of variable and array outside awk. [/inline]
print progexearr[i]
}'
#echo $progexe [inline] # Not able to get value of progexe or array progexearr here [/inline]
#java -classpath $CLASSPATH:. $progexe
OR i have used another approach which is.....
#!/bin/bash
source ~/.login
pruneclass=""
pruneclass="$(find myinfo/yourinfo/supplierinfo -name "*llector.java*")"
st=(echo "$pruneclass")
for (( j = 0 ; j <= ${#st[*]} ; j++ ))
{
#echo ${st[*]}
#echo "${st[$j]}"
#echo ${st[j]}
#javac ${st[$j]} [inline] # Here the string is myinfo/yourinfo/everyinfo/myCollector.java which is compiling absolutely fine [/inline]
#java -classpath $CLASSPATH:. ${st[$j]} [inline] # But here i want only substring "myCollector" in order to execute it. How do i split the string values of array to get the substring "myCollector". [/inline]
}
Any help would be really appreciated. I am trying it for 3 days and not yet successful.
Thanks in advance.