Sponsored Content
Full Discussion: Loops & Variable
Top Forums UNIX for Dummies Questions & Answers Loops & Variable Post 302948441 by Xterra on Monday 29th of June 2015 05:46:26 PM
Old 06-29-2015
RudiC
That works!
Code:
#!/bin/bash
TMPArray1=( NULL "GGGGGG|TTTTT" "AAAAAA|CCCCCC" "CCAAAA|CCCCAA" )
for e in {1..3}
do 
    awk -v"REP=${TMPArray1[$e]}" '{gsub("^.*" REP ".*$","",$0)} 1' 1.$e > $e.Resul$e
done

Would it be possible to use a double nested?
Code:
#!/bin/bash
TMPArray1=( NULL "GGGGGG|TTTTT" "AAAAAA|CCCCCC" "CCAAAA|CCCCAA" )
TMPArray2=( NULL "XXXXX|YYYYYY" "ZZZZZZZ|BBBBBBB" "KKKKKK|LLLLLL" )
TMPArray3=( NULL "SSSSS|FFFFFF" "EEEEEE|JJJJJJ" "PPPPPP|UUUUUU" )
for y in {1..3}
do
    for e in {1..3}
    do 
        awk -v"REP=${TMPArray$y[$e]}" '{gsub("^.*" REP ".*$","",$0)} 1' $y.$e > $y.Resul$e
    done
done

Let say I use the following input files:
1.1
Code:
>GHXCZCC01AJ8CJ
ACGGGGGGGTGCGTGGGAAATTGATGTGCTTGGTGTGTATCATTTCTGGGAAGCCCTACGCCCCGTTTTTGGGC
>GHXCZCC01APUO5
ACGTGCGTGGGAAATGGGGGG-ATGTGCTTTTTCGTTGGTGTGTATCAGCTGGATTTCTGGGACGCAGCCCTACCCGGGGCGA
>GHXCZCC01AQSRP
ACGTGCGTGGGAAATTGATGTTA--GGGGGG-AGCTGGATTTTCTGGGACGCCCCGGGGATTTTTGCCCTA
>GHXCZCC01AQSRP
TTGTGGGGGGTGCCAGCTAGCTGAGCCCTAGATTTTCTGGGGCCCCGGGGTTTTT
>GHXCZCC01AQSRP
GGGGGGTTGATGTTGCCCAGCCCTATAGCTGGATTTTCTGGGACGCCCCTTTTTGGGGTGC

1.2
Code:
>GHXCZCC01AJ8CJ
ACAAAAAAGGGGGGGTGCGTGGGAAATTGATGTGCTTGGTGTGTATCATTTCTGGGAAGCCCTACGCCCCGTTTTTCCCCCCGGGC
>GHXCZCC01APUO5
ACGTGCAAAAAAGTGGGAAATGGGGGG-ATGTGCTTTTTCGTTGGTGTGTATCAGCTGGATTTCTGGGACGCAGCCCTACCCGGGGCGACCCCCC
>GHXCZCC01AQSRP
ACGTGCGTGGGAAATTGATGTTAAAAAAA--GGGGGG-AGCTGGATTTTCTGGGACGCCCCGGGGATTTCCCCCCTTGCCCTA
>GHXCZCC01AQSRP
TTGTAAAAAAGGGGGGTGCCAGCTAGCTGAGCCCTAGATTTTCTGGGGCCCCGGGGTTCCCCCCTTT
>GHXCZCC01AQSRP
GGAAAAAAGGGGTTGATGTTGCCCAGCCCTATAGCTGGATTTTCTGGGCCCCCCACGCCCCTTTTTGGGGTGC

1.3
Code:
>GHXCZCC01AJ8CJ
ACCCAAAAGGGGGGGTGCGTGGGAAATTGATGTGCTTGGTGTGTATCATTTCTGGGAAGCCCTACGCCCCGTTTTTGGCCCCAAGC
>GHXCZCC01APUO5
ACGTGCGTGGGAAATGCCAAAAGGGGG-ATGTGCTTTTTCGTTGGTGTGTATCAGCTGGATTTCTGGGACGCAGCCCTACCCGGGGCGACCCCAA
>GHXCZCC01AQSRP
ACGTCCAAAAGCGTGGGAAATTGATGTTA--GGGGGG-AGCTGGATTTTCTGGGACGCCCCGGGGATTTTTGCCCTACCCCAA
>GHXCZCC01AQSRP
CCAAAATTGTGGGGGGTGCCAGCTAGCTGAGCCCTAGATTTTCTGGGGCCCCGGGGTTTCCCCAATT
>GHXCZCC01AQSRP
CCAAAAGGGGGGTTGATGTTGCCCAGCCCTATAGCTGGATTTTCTGGGACGCCCCTTCCCCAATTTGGGGTGC

2.1
Code:
>GHXCZCC01AJ8CJ
ACGGXXXXXGGGGGTGCGTYYYYYYGGGAAATTGATGTGCTTGGTGTGTATCATTTCTGGGAAGCCCTACGCCCCGTTTTTGGGC
>GHXCZCC01APUO5
ACGTGCGTGGGAAATGGGGGG-XXXXXATGTGCYYYYYYTTTTTCGTTGGTGTGTATCAGCTGGATTTCTGGGACGCAGCCCTACCCGGGGCGA
>GHXCZCC01AQSRP
ACGTGCGTGGGAAATTGATGTTA--GGGXXXXXGGG-AGCTGYYYYYYGATTTTCTGGGACGCCCCGGGGATTTTTGCCCTA
>GHXCZCC01AQSRP
TTGTGGGGGGTGCCAXXXXXGCTAGCTGAGCCYYYYYYCTAGATTTTCTGGGGCCCCGGGGTTTTT
>GHXCZCC01AQSRP
GGGGGGTTGATGTTGCCCAGCCCXXXXXTATAGCTGGAYYYYYYTTTTCTGGGACGCCCCTTTTTGGGGTGC

2.2
Code:
>GHXCZCC01AJ8CJ
ACAAAAAAGGGGGGGTGCGTZZZZZZZGGGAAATBBBBBBBTGATGTGCTTGGTGTGTATCATTTCTGGGAAGCCCTACGCCCCGTTTTTCCCCCCGGGC
>GHXCZCC01APUO5
ACGTGCAAAAAAGTGGGAAATGGGZZZZZZZGGG-ATGBBBBBBBTGCTTTTTCGTTGGTGTGTATCAGCTGGATTTCTGGGACGCAGCCCTACCCGGGGCGACCCCCC
>GHXCZCC01AQSRP
ACGTGCGTGGGAAATTGZZZZZZZATGTTABBBBBBBAAAAAA--GGGGGG-AGCTGGATTTTCTGGGACGCCCCGGGGATTTCCCCCCTTGCCCTA
>GHXCZCC01AQSRP
TTGTAAAAAAGGGGGGTGCCAGCTAZZZZZZZGCTGAGCCCTAGATTBBBBBBBTTCTGGGGCCCCGGGGTTCCCCCCTTT
>GHXCZCC01AQSRP
GGAAAAAAGGGGTTGATGTTGCCCAZZZZZZZGCCCTATAGCTGGBBBBBBBATTTTCTGGGCCCCCCACGCCCCTTTTTGGGGTGC

2.3
Code:
>GHXCZCC01AJ8CJ
ACCCAAAAKKKKKKGGGGGLLLLLLGGTGCGTGGGAAATTGATGTGCTTGGTGTGTATCATTTCTGGGAAGCCCTACGCCCCGTTTTTGGCCCCAAGC
>GHXCZCC01APUO5
ACGTGCGTGGGAAATGKKKKKKCCAAAAGGGGG-ATLLLLLLGTGCTTTTTCGTTGGTGTGTATCAGCTGGATTTCTGGGACGCAGCCCTACCCGGGGCGACCCCAA
>GHXCZCC01AQSRP
ACGTCCAAAAGCGTGGGAAATTGATGTTA--GGGGGG-AGCTGGATTTTCTGGGACGCCCCGGGGAKKKKKKTTTTLLLLLLTGCCCTACCCCAA
>GHXCZCC01AQSRP
CCAAAATTGTGGGGGGTGCCAGCTAGCTGAGCCCTAGATTTTCTGGGGCCCCGGGGTTTCCCCKKKKKKAATTLLLLLL
>GHXCZCC01AQSRP
CCAAAAGGGGGGTTGATGTTGCCCAGCCCTATAGCTGGATTTTCTGGGACGCCCCTTCCCCAATTTGGGGTGCLLLLLL

3.1
Code:
>GHXCZCC01AJ8CJ
ACGGGGSSSSSGGGTGCGTFFFFFFGGGAAATTGATGTGCTTGGTGTGTATCATTTCTGGGAAGCCCTACGCCCCGTTTTTGGGC
>GHXCZCC01APUO5
ACGTGCGTGGGAAATGGGGGG-SSSSSATGTGFFFFFFCTTTTTCGTTGGTGTGTATCAGCTGGATTTCTGGGACGCAGCCCTACCCGGGGCGA
>GHXCZCC01AQSRP
ACGTGCGTGGGAAATTGASSSSSTGTTA--GGGGGG-AGCTGGFFFFFFATTTTCTGGGACGCCCCGGGGATTTTTGCCCTA
>GHXCZCC01AQSRP
TTGTGGGGGGTGCCAGCTAGCSSSSSTGAGCCCTAGATFFFFFFTTTCTGGGGCCCCGGGGTTTTT
>GHXCZCC01AQSRP
GGGGGGTTGATGTTGCCCAGCCCTAFFFFFFTAGCTGGATTTTCTGGGACGCCCCTTTTTGGGGTGC

3.2
Code:
>GHXCZCC01AJ8CJ
ACAAEEEEEEAAAAGGGGGJJJJJJGGTGCGTGGGAAATTGATGTGCTTGGTGTGTATCATTTCTGGGAAGCCCTACGCCCCGTTTTTCCCCCCGGGC
>GHXCZCC01APUO5
EEEEEEACGTGCAAAAAAGJJJJJJTGGGAAATGGGGGG-ATGTGCTTTTTCGTTGGTGTGTATCAGCTGGATTTCTGGGACGCAGCCCTACCCGGGGCGACCCCCC
>GHXCZCC01AQSRP
ACGTGCGTGGGAAATEEEEEETGATGTTAAAAAAA--GGGGGG-AGCTGGATTTJJJJJJCTGGGACGCCCCGGGGATTTCCCCCCTTGCCCTA
>GHXCZCC01AQSRP
TTGTAAAAAAGGGGEEEEEEGGTGCCAGCTAGCTGJJJJJJAGCCCTAGATTTTCTGGGGCCCCGGGGTTCCCCCCTTT
>GHXCZCC01AQSRP
GGAAAAJJJJJJAAGGGGTTGATGTTGCCCAGCCCTATAGCTGGATTTTCTGGGCCCCCCACGCCCCTTTTTGGGGTGC

3.3
Code:
>GHXCZCC01AJ8CJ
ACCCAAPPPPPPAAGGGGUUUUUUGGGTGCGTGGGAAATTGATGTGCTTGGTGTGTATCATTTCTGGGAAGCCCTACGCCCCGTTTTTGGCCCCAAGC
>GHXCZCC01APUO5
ACGTGCGTGGGAAPPPPPPATGCCAAAAGGGGG-ATGTUUUUUUGCTTTTTCGTTGGTGTGTATCAGCTGGATTTCTGGGACGCAGCCCTACCCGGGGCGACCCCAA
>GHXCZCC01AQSRP
PPPPPPACGTCCAAAAGCUUUUUUGTGGGAAATTGATGTTA--GGGGGG-AGCTGGATTTTCTGGGACGCCCCGGGGATTTTTGCCCTACCCCAA
>GHXCZCC01AQSRP
CCAAAAPPPPPPTTGTGGUUUUUUGGGGTGCCAGCTAGCTGAGCCCTAGATTTTCTGGGGCCCCGGGGTTTCCCCAATT
>GHXCZCC01AQSRP
CCAPPPPPPAAAGGGGGGTTGAUUUUUUTGTTGCCCAGCCCTATAGCTGGATTTTCTGGGACGCCCCTTCCCCAATTTGGGGTGC

Thanks!

Last edited by Xterra; 06-29-2015 at 07:14 PM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

korn shell "loops & arrays"

Hi, I am trying to write a script which will loop until a certain action has been performed. I have two files i would like to compares. For example: file1 has a list of user ids (about 900) from the company's e-mail server. file2 has a list of user ids (about 50 or so) from... (7 Replies)
Discussion started by: muzica
7 Replies

2. Shell Programming and Scripting

search & replace in variable

Can I use search & replace in any variable? Suppose I have one variable named var1 which holds value "abcabc" I need to search 'a' in var1 and want to replace with 'x' like 'xbcxbc'. Is it possible? Can you provide me an example? Malay (3 Replies)
Discussion started by: malaymaru
3 Replies

3. Shell Programming and Scripting

scripting headache... loops & variables

Surely there's an easier way to do this, lets see if anyone knows! I am new to scripting so go easy on me! I have the following script and at the moment it doesn't work and I believe the problem is that I am using a while loop within a while loop. When I run the script using sh -x I can see... (6 Replies)
Discussion started by: StevePace
6 Replies

4. Shell Programming and Scripting

Insert a line including Variable & Carriage Return / sed command as Variable

I want to instert Category:XXXXX into the 2. line something like this should work, but I have somewhere the wrong sytanx. something with the linebreak goes wrong: sed "2i\\${n}Category:$cat\n" Sample: Titel Blahh Blahh abllk sdhsd sjdhf Blahh Blah Blahh Blahh Should look like... (2 Replies)
Discussion started by: lowmaster
2 Replies

5. UNIX for Dummies Questions & Answers

Passing KSH variable to AWK with two loops

Hi, I need some help to figure out why an outer for loop KSH variable does not decode in AWK but inner for loop does. Below is my code, If I hard code variable 'SUBSEQ' in AWK it works but if I try to pass the SUBSEQ from KSH, it does not and when I pass the variable 'NAM' from KSH it works: I... (1 Reply)
Discussion started by: chowdhut
1 Replies

6. Shell Programming and Scripting

sed -i '7 c\$variable' file ....(?!@#$%^&*!)

I have tried everything I can think of to get sed to change line N of a file to the contents of a variable. I have Googled the Internet, and I find lots of people telling how to use variables with the "Substitute" command, but no one telling how to use variables with the "Change" command. I... (4 Replies)
Discussion started by: Mr.Lauren
4 Replies

7. Shell Programming and Scripting

Re-assign variable's value through which FOR LOOP loops

Hi, I've a requirement where I want to re-assign the value in the variable through which FOR LOOP loops. For e.g. Snippet of code --------------- for i in $var do echo $i >> $tempFile var=`echo $another_var | awk -F" " '{print $1}'` done I am re-assigning var so... (2 Replies)
Discussion started by: dips_ag
2 Replies

8. UNIX for Dummies Questions & Answers

Bash loops and variable scope

Hi All, I've been researching this problem and I am pretty sure that the issue is related to the while loop and the piping. There are plenty of other threads about this issue that recommend removing the pipe and using redirection. However, I haven't been able to get it working using the ssh and... (1 Reply)
Discussion started by: 1skydive
1 Replies

9. UNIX for Advanced & Expert Users

Passing variable as input & storing output in other variable

I have a below syntax its working fine... var12=$(ps -ef | grep apache | awk '{print $2,$4}') Im getting expected output as below: printf "%b\n" "${VAR12}" dell 123 dell 456 dell 457 Now I wrote a while loop.. the output of VAR12 should be passed as input parameters to while loop and results... (5 Replies)
Discussion started by: sam@sam
5 Replies

10. Shell Programming and Scripting

Bash: How to use read with conditions & loops

Hello, Below I try to control that the input is good an IP : #!/bin/bash cp /home/scripts/choice_interfaces.txt /home/scripts/interfaces.txt chmod 644 /home/scripts/interfaces.txt echo -e "Please enter the network informations into the /etc/network/interfaces file, complete them below... (9 Replies)
Discussion started by: Arnaudh78
9 Replies
All times are GMT -4. The time now is 03:02 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy