File names as array element in ksh


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting File names as array element in ksh
# 8  
Old 10-10-2014
Try:
Code:
#!/bin/ksh
arr=(a b c)
for i in "${arr[@]}"
do      printf '%s %s\n' "$i" "${i}.txt"
done > file

This User Gave Thanks to Don Cragun For This Post:
# 9  
Old 10-13-2014
Thanks Don. But my requirement was
a,b,c are members i found from a set of files say 1.txt, 2.txt, 3.txt respectively. so i am storing a,b,c in array and showing tht in file. i want my array/file to be like below

a(the member), 1.txt(the file from where the member 'a' was found)
b(the member) 2.txt(the file from where the member 'b' was found)
like this.

Apologies for the confusion in my previous post.
# 10  
Old 10-13-2014
Why not create two arrays member and file

Code:
#!/bin/ksh
member=(a b c)
file=(1.txt 2.txt 3.txt)

i=0
while [ $i -lt ${#member[@]} ]
do
   printf "%s %s\n" "${member[i]}" "${file[i]}"
   let i=i+1
done

This User Gave Thanks to Chubler_XL For This Post:
# 11  
Old 10-13-2014
Thanks much Chubler_XL. I was able to get the desired result.Now i am trying to put a header to the output file and also insert a new line character after each record like below. I can see the same achieved in the file generated . but when i am sending that mail in mail attachment, i see theres no new line and header also coming in the same line.

Getting the below in generated file
Code:
member      file
a                 1.txt
b                 2.txt
c                  3.txt

getting the below as mail attachment
Code:
member      file a     1.txt b 2.txt c 3.txt

Moderator's Comments:
Mod Comment Please use CODE tags when displaying code segments and sample input and output. Volunteers reading your thread trying to help you get what you want can't tell the difference between a single space and a sequence of spaces and tabs if you don't use the tags.

Last edited by Don Cragun; 10-13-2014 at 08:32 PM.. Reason: Add CODE tags.
# 12  
Old 10-13-2014
This could be and outlook mail client issue. Try putting a space (or two) at the front of each line:

Code:
printf "  Member    File\n   \n"
...
printf "  %s %s\n  \n" "${member[i]}" "${file[i]}"

# 13  
Old 10-13-2014
Hi Chubler_XL, I am trying the below code, but this doesnt seem to work.

Code:
echo "  %s %s\n  \n" "${File[i]}"  "${Member[i]}" >> temp.txt

# 14  
Old 10-13-2014
Try printf not echo
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Unset array element and save to file in Bash

#!/bin/bash X=(2H 4S 10D QC JD 9H 8S) How do I unset the 10D from this array and save it to a file? Please use CODE tags as required by forum rules! (5 Replies)
Discussion started by: cogiz
5 Replies

2. Shell Programming and Scripting

Not able to call an element from an array in ksh

Hi, I have: # Initialize variables #!/usr/bin/ksh FILENM=$1 INDEX=0 # read filename echo "You are working with the Config file: $FILENM" while read line do echo $line data=$line ((INDEX=INDEX+1)) done <"$FILENM" (3 Replies)
Discussion started by: Marc G
3 Replies

3. Shell Programming and Scripting

ksh insert element in array

Hi all, I need help with the following scenario in ksh. If the number of elements contained by arrayA is 11 I need to insert a zero as the element arrayA then print all arrayA elements separated by comma. Appreciate your help. (9 Replies)
Discussion started by: ejianu
9 Replies

4. Emergency UNIX and Linux Support

Assigning zero to element of ksh array.

set -A matched #find referenced files. for i in ${file_names_html} do counter_j=0 for j in ${file_names_minus_index} do match=`cat $i | grep... (1 Reply)
Discussion started by: robin_simple
1 Replies

5. Shell Programming and Scripting

how to assign file names to array variable?

I wish to assign file names with particular extention to array variables. For example if there are 5 files with .dat extention in /home/sam then i have to assign these 5 files to an array. plz help me how to accomplish this. Thanks in advance. (4 Replies)
Discussion started by: siteregsam
4 Replies

6. Shell Programming and Scripting

Problem to initialize ksh array when first element includes hyphen

Hi I'm trying to create an array with variable including hyphen but ksh refuses the first element set -A allArgs set +A allArgs ${allArgs} -all set +A allArgs ${allArgs} -date set +A allArgs ${allArgs} test ./test.ksh: -all: bad option(s) It happens only when first element is like... (4 Replies)
Discussion started by: gdan2000
4 Replies

7. Shell Programming and Scripting

Creating array containing file names

I am wondering how I can save the file names (stored in $file or $fnames) in array which I can access with an index. alias MATH 'set \!:1 = `echo "\!:3-$" | bc -l`' set narg = $#argv while ($iarg < $narg) MATH iarg = $iarg + 1 set arg = $argv set opt = ` echo $arg | awk... (1 Reply)
Discussion started by: kristinu
1 Replies

8. Shell Programming and Scripting

Find Directory from array of file names with paths

I have a script that generates a variable with the location of a file and its complete path. What i want to do is to "cd" to the directory where that file is located using the path name of the file. GIS has absolutely failed me. For example when i run my script it generates a variable called... (1 Reply)
Discussion started by: Knome
1 Replies

9. Shell Programming and Scripting

Adding array element in KSH

All, I would like to add the first 10 elements of an array. Here is how I am doing it now (only included first few add ops): #!/usr/bin/ksh ###Grab the array values out of a file### TOTAL=`awk '/time/' /tmp/file.out | awk '{print $4}'` set -A times $TOTAL SUM=$((${times} + times... (3 Replies)
Discussion started by: Shoeless_Mike
3 Replies
Login or Register to Ask a Question