How to maintain wildcard array variable


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to maintain wildcard array variable
# 1  
Old 02-25-2009
How to maintain wildcard array variable

Hi all,

I have this scenario where:-



The file that I want to save its name into array df[1] is my.08120323.trx which is located in the dir as below:

$ pwd

/u01/abc/def/SRC_datafiles

$ ls *trx

my.08120323.trx

$ df[1]=*"trx" ##keeping the filename my.08120323.trx into df[1]

$ echo ${df[1]}

my.08120323.trx ##getting the correct full output



I want df[1] content - my.08120323.trx to be maintained in any directory that I go.. example in below directory.. but I only got *trx value as below when I echo ${df[1]} when I go this directory:

$ cd ../..

$ pwd

/u01/abc

$ echo ${df[1]}

*trx ##this is not the output that i expected.. i want it to show my.08120323.trx

$



How do I maintain the value of df[1] to be my.08120323.trx instead of only *trx in any directory I go?

Please shed some light.

Thanks!
# 2  
Old 02-25-2009
Code:
$ cd /tmp
$ touch my.08120323.trx
$ df[1]=`echo *trx`
$ echo ${df[1]}
my.08120323.trx
$ cd /
$ echo ${df[1]}
my.08120323.trx

You are storing the '*' wildcard in df[1] instead of the filename so when you do the "echo ${df[1]}", that's the point where filename matching happens. If there is no matching file in the directory, it will show "*trx". Storing the output of "echo *trx" eliminates this issue.
# 3  
Old 02-25-2009
Quote:
Originally Posted by rikxik
Code:
$ cd /tmp
$ touch my.08120323.trx
$ df[1]=`echo *trx`
$ echo ${df[1]}
my.08120323.trx
$ cd /
$ echo ${df[1]}
my.08120323.trx

You are storing the '*' wildcard in df[1] instead of the filename so when you do the "echo ${df[1]}", that's the point where filename matching happens. If there is no matching file in the directory, it will show "*trx". Storing the output of "echo *trx" eliminates this issue.

Hey this is working! Thank you so much rikxik! Really really really appreciate this as I've been scratching my head from yesterday abt this issue Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to use variable inside array?

I tried to use variable inside an array variable, but its not working as expected.:wall: ENV1=123 ENV1=789 ENV1=120 ENV2=567 if then name=ENV1 echo "${name}" echo "${name}" echo "${name}" else name=ENV1 echo "${name}" fi Output: ./val.sh 1 123 (2 Replies)
Discussion started by: Jayavinoth
2 Replies

2. Shell Programming and Scripting

Maintain Scope of the variable in UNIX

Hi All Is there is any way to maintain the scope of the variable in unix Example x=1 j=1 while do .. .... .... while do .. .. x=x+1 done #inner most while loop ends here done #outer loop ends here (8 Replies)
Discussion started by: parthmittal2007
8 Replies

3. Shell Programming and Scripting

[Perl] Split lines into array - variable line items - variable no of lines.

Hi, I have the following lines that I would like to see in an array for easy comparisons and printing: Example 1: field1,field2,field3,field4,field5 value1,value2,value3,value4,value5Example 2: field1,field3,field4,field2,field5,field6,field7... (7 Replies)
Discussion started by: ejdv
7 Replies

4. Shell Programming and Scripting

Passing a wildcard in a variable

Hi There I am new to scripting and require some assistance please. I am trying to define a variable with a wildcard in a shell script (.ksh) that will be run on AIX 5300-10. The variable I am trying is: FILES=LLA_*.CSVWhen I run the following section of the script: scp... (2 Replies)
Discussion started by: jimbojames
2 Replies

5. Shell Programming and Scripting

assign value to array variable

Hi, I have a piece of code as follows: i=0 while read LINE do var = "$LINE" i=$((i+1)) echo "${var}" done < file I want to assign value to the array var. However, when i execute the script i get a error. Please can you help me know what i am missing. I ultimately want to... (2 Replies)
Discussion started by: sunrexstar
2 Replies

6. Shell Programming and Scripting

Passing wildcard parameters to find via a variable

I have a script to fix permissions which is made up of blocks like: FS_ROOT=/home/shared/Photos FS_EXCLUDE=( \( -path */.webviews -o -path */.thumbnails \) -prune -o ) find $FS_ROOT ${FS_EXCLUDE} -type d -not -perm 2770 -exec chmod 2770 "{}" \; That fragment works as expected, but no matter... (3 Replies)
Discussion started by: mij
3 Replies

7. Shell Programming and Scripting

ls wildcard output to a variable

I am new to shell programming, i have a requierement to assign a file name into a variable. for ex: the file name are below 603_2009_09_24_34.csv 702_2009_10_25_10.csv for ex: i need to get the file 603_2009_09_24_34.csv but first 3 didgits are fixed but rest of the digits are not below is... (3 Replies)
Discussion started by: Devendar
3 Replies

8. UNIX for Dummies Questions & Answers

How to maintain the content of array in any directory I go?

Hi all, I have this scenario where:- The file that I want to save its name into array df is my.08120323.trx which is located in the dir as below: $ pwd /u01/abc/def/SRC_datafiles $ ls *trx my.08120323.trx $ df=*"trx" ##keeping the filename... (1 Reply)
Discussion started by: luna_soleil
1 Replies

9. Shell Programming and Scripting

Array help (variable substitution).

I am using an array (clmlist01). I have 61 of these and have 4 or more references to each one in a block of code that I do not want to have to hardcode. With that being said, I am creating a varible and going through a for loop to create the actually name of each array. The arrays would end up... (3 Replies)
Discussion started by: dsimpg1
3 Replies

10. UNIX for Dummies Questions & Answers

Find wildcard .shtml files in wildcard directories and removing them- How's it done?

I'm trying to figure out how to build a small shell script that will find old .shtml files in every /tgp/ directory on the server and delete them if they are older than 10 days... The structure of the paths are like this: /home/domains/www.domain2.com/tgp/ /home/domains/www.domain3.com/tgp/... (1 Reply)
Discussion started by: Neko
1 Replies
Login or Register to Ask a Question