Sponsored Content
Top Forums Shell Programming and Scripting Array not printing values if used in a loop Post 303017190 by arcoleman10 on Thursday 10th of May 2018 11:52:11 AM
Old 05-10-2018
Array not printing values if used in a loop

Hello!

I'm making an English to Morse Code translator and I was able to mostly get it all working by looking through older posts here; however, I have one small problem.

When I run it it's just printing spaces for where the characters should be. It runs the right amount of times, and if I try to individually print out of the array it works, but when I try to have it cycle through to translate I get the problem.

What I am running/output:
Code:
[acolem26@ats-cis project8]$ ./morse "a b c"
 SP  SP  EOT

My code:
Code:
#!/bash/bin

declare -A code
code[A]=".-"
code[B]="-..."
code[C]="-.-."
code[D]="-.."
code[E]="."
code[F]="..-."
code[G]="--."
code[H]="...."
code[I]=".."
code[J]=".---"
code[K]="-.-"
code[L]=".-.."
code[M]="--"
code[N]="-."
code[O]="---"
code[P]=".--."
code[Q]="--.-"
code[R]=".-."
code[S]="..."
code[T]="-"
code[U]="..-"
code[V]="...-"
code[W]=".--"
code[X]="-..-"
code[Y]="-.--"
code[Z]="--.."
code[1]=".----"
code[2]="..---"
code[3]="...--"
code[4]="....-"
code[5]="....."
code[6]="-...."
code[7]="--..."
code[8]="---.."
code[9]="----."
code[0]="-----"
code[ ]="SP"

str=$1

for (( i=0; $i < ${#str}; i++ ));
do
     printf "%s " "${code[${str:$i:1}]}"
done
printf "%s\n" EOT

If I do something like

Code:
printf "%s " "${code[A]}"

It prints off the corresponding Morse code so I assume the issue isn't with the array but with how I am substituting and I'm not sure how to fix it.
 

10 More Discussions You Might Find Interesting

1. Programming

printing all array values using dbx 7.2.1

how do we print the entire contents of arrays in dbx ? Ive tried using print x to print values 1 to 5 of the array x, however dbx complains and doesnt allow this help is much appreciated (1 Reply)
Discussion started by: JamesGoh
1 Replies

2. Shell Programming and Scripting

How to use array values after the loop.

- I m retreving values from database and wish to use those values later in my shell script. I m placing these values in an array da_data but outside loop array is empty.Problem is its treating array as local inside loop hence array is empty outside loop. Plz go through the script and suggest how... (1 Reply)
Discussion started by: Devesh5683
1 Replies

3. Shell Programming and Scripting

Array Printing Inline

Dear friends , The output file of below script Pls#!/bin/sh awk '{ bo = substr($0,13,3) slm = substr($0,150,8) slo = substr($0,175,7) inc = substr($0,97,10)/100 busi = substr($0,83,10) mth = substr($0,39,2) yer = substr($0,35,4) ... (2 Replies)
Discussion started by: vakharia Mahesh
2 Replies

4. Shell Programming and Scripting

Assigning values to an array via for/while loop

I need to do something like this: for i in 1 2 3 4 5; do arr=$(awk 'NR="$i" { print $2 }' file_with_5_records) done That is, parse a file and assign values to an array in an ascending order relative to the number of record in the file that is being processed on each loop. Is my... (2 Replies)
Discussion started by: fiori_musicali
2 Replies

5. Shell Programming and Scripting

PHP: Search Multi-Dimensional(nested) array and export values of currenly worked on array.

Hi All, I'm writing a nagios check that will see if our ldap servers are in sync... I got the status data into a nested array, I would like to search key of each array and if "OK" is NOT present, echo other key=>values in the current array to a variable so...eg...let take the single array... (1 Reply)
Discussion started by: zeekblack
1 Replies

6. UNIX for Dummies Questions & Answers

printing array elements

Is there a way to print multiple array elements without iterating through the array using bash? Can you do something like... echo ${array}and get all those separate elements from the array? (2 Replies)
Discussion started by: jrymer
2 Replies

7. Shell Programming and Scripting

Array Variable being Assigned Values in Loop, But Gone when Loop Completes???

Hello All, Maybe I'm Missing something here but I have NOOO idea what the heck is going on with this....? I have a Variable that contains a PATTERN of what I'm considering "Illegal Characters". So what I'm doing is looping through a string containing some of these "Illegal Characters". Now... (5 Replies)
Discussion started by: mrm5102
5 Replies

8. Shell Programming and Scripting

awk loop using array:wish to store array values from loop for use outside loop

Here's my code: awk -F '' 'NR==FNR { if (/time/ && $5>10) A=$2" "$3":"$4":"($5-01) else if (/time/ && $5<01) A=$2" "$3":"$4-01":"(59-$5) else if (/time/ && $5<=10) A=$2" "$3":"$4":0"($5-01) else if (/close/) { B=0 n1=n2; ... (2 Replies)
Discussion started by: klane
2 Replies

9. Shell Programming and Scripting

How to swap the values in array using for loop?

array=( 8 5 6 2 3 4 7 1 9 0 ) for i in "${array}" do echo $i done # i need the output like this by swapping of array values 0 9 1 7 4 3 2 6 5 8 (7 Replies)
Discussion started by: Meeran Rizvi
7 Replies

10. Shell Programming and Scripting

Convert values in an array using a loop

I have a headerless array of 1000 columns x 100000 rows. The array only contains 4 values; 0/0, 0/1, 1/1, ./. Here I am showing the 1st 3 rows and columns of the input array 0/0 0/0 1/1 0/1 0/1 0/1 0/0 ./. 0/0 0/0 0/0 0/0 I would like to convert the values in... (9 Replies)
Discussion started by: Geneanalyst
9 Replies
CW(7)							 Miscellaneous Information Manual						     CW(7)

NAME
CW - the international Morse code DESCRIPTION
CW is an abbreviation for "continuous wave", the commonly used technical term for Morse code communication. A basic knowledge or under- standing of Morse code is a requirement for Radio Amateurs and Marine Radio Operators in many parts of the world. MORSE CODE TIMINGS In Morse code, a dot or dash is referred to as an element. The basic timing unit is the dot period. This is the time taken to send a dot, not including any space before or after the dot. The lengths of all other elements are then derived from this basic unit, using the fol- lowing rules: The duration of a dash is three dots. The time between each element (dot or dash) is one dot length. The space between characters is three dot lengths. The space between words is seven dot lengths. The following formula calculates the dot period in microseconds from the Morse code speed in words per minute: dot period = ( 1200000 / speed ) This formula arises from the use of the word PARIS as a 'standard' word for calibrating Morse code speed. PARIS is 50 units long when sent in Morse code. Analysis of English plain-text indicates that the average word is 50 units, including spaces. MORSE CODE CHARACTERS The following list shows the IS0 8859-1 (Latin-1) characters that have commonly understood representations in Morse code: ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"$()+-./:;=?_@ and space In addition, following ISO 8859-1 and ISO 8859-2 accented characters are also part of the generally accepted international Morse code: UACOEEANS (S with cedilla), (Z with caron/hacek), Finally, libcw adds the following ASCII characters as extensions to single character procedural signals: <>!&^~ MORSE CODE CHARACTER TABLES The following table shows the Morse code equivalents for the ISO 8859-1, accented ISO 8859-1, and accented ISO 8859-2 characters above. The ASCII portion of this table is taken from the ARRL Handbook, and the accented extensions from various other sources: Ch Code Ch Code Ch Code Ch Code ------------------------------------------------------- A .- B -... C -.-. D -.. E . F ..-. G --. H .... I .. J .--- K -.- L .-.. M -- N -. O --- P .--. Q --.- R .-. S ... T - U ..- V ...- W .-- X -..- Y -.-- Z --.. 0 ----- 1 .---- 2 ..--- 3 ...-- 4 ....- 5 ..... 6 -.... 7 --... 8 ---.. 9 ----. " .-..-. ' .----. $ ...-..- ( -.--. ) -.--.- + .-.-. , --..-- - -....- . .-.-.- / -..-. : ---... ; -.-.-. = -...- ? ..--.. _ ..--.- Ch Code Ch Code ------------------------------------------------- U ..-- A .-.- C -.-.. O ---. E ..-.. A .-..- A .--.- N --.-- S (S+cedilla) ---- (Z+caron/hacek) --..- In addition to the above standard characters, the following characters are conventionally used for punctuation and procedural signals as follows: Ch Code Ch Code Ch Code Ch Code ------------------------------------------------------- " .-..-. ' .----. $ ...-..- ( -.--. ) -.--.- + .-.-. , --..-- - -....- . .-.-.- / -..-. : ---... ; -.-.-. = -...- ? ..--.. _ ..--.- @ .--.-. and the following are non-conventional extensions implemented by libcw: Ch Code Ch Code Ch Code Ch Code ----------------------------------------------------- < ...-.- > -...-.- ! ...-. & .-... ^ -.-.- ~ .-.-.. An alternative view of punctuation and procedural signals is as combination Morse characters: Ch Prosig Ch Prosig Ch Prosig Ch Prosig --------------------------------------------------------- " [AF] ' [WG] $ [SX] ( [KN] ) [KK] + [AR] , [MIM] - [DU] . [AAA] / [DN] : [OS] ; [KR] = [BT] ? [IMI] _ [IQ] @ [AC] < [VA],[SK] > [BK] ! [SN] & [AS] ^ [KA] ~ [AL] NOTES
Despite the fact that this manual page constantly and consistently refers to Morse code elements as dots and dashes, DO NOT think in these terms when trying to learn Morse code. Always think of them as 'dit's and 'dah's. SEE ALSO
Man pages for libcw(3,LOCAL), cw(1,LOCAL), cwgen(1,LOCAL), cwcp(1,LOCAL), and xcwcp(1,LOCAL). CW Tutor Package CW(7)
All times are GMT -4. The time now is 03:57 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy