Insert a user input string after matched string in file


Login or Register to Reply

 
Thread Tools Search this Thread
# 8  
Unclear. I don't know what
Quote:
Originally Posted by tomislav91
. . .
I want something case1\nHELEN
. . .
should be.





If I enter 2 for uservar, this is what I get (after having adapted the case ... esac statement):
Code:
this is only a test
so please be patient
<color="red" />Helen

# 9  
Quote:
Originally Posted by RudiC
Unclear. I don't know what
should be.





If I enter 2 for uservar, this is what I get (after having adapted the case ... esac statement):
Code:
this is only a test
so please be patient
<color="red" />Helen

Idea is that i have multiple cases. Case 2 is case1 + some new string which i added.
Case 3 is case1+case2+some new string

------ Post updated at 05:06 AM ------

So if case one result is
123 text
Case2 will be
123 text new2
Case3 will be
123 text new2 new3
# 10  
That's NOT suitable for a case statement; use an array and a for loop:
Code:
ARR1=( 0 text1 text2 text3 text4 text5 )
uservar=4
for (( i=1; i<=uservar; i++)); do echo  ${ARR1[i]}; done
text1
text2
text3
text4


Last edited by RudiC; 09-02-2018 at 03:40 PM..
# 11  
I will try to combine with user input and variable match and text ehich i said earlier

------ Post updated at 08:58 AM ------

i did it like this
Code:
#!/bin/bash
read -p 'Enter number:' new
match='<color="red"  \/>'
text='text='this is only a test
so please be patient
<color="red" />''

text0='<h1> <!-- COmment -->
this is a test
    </h1>'
text1="MARIA"
text2="JACK"
text3="BRAD"
ARR1=( 0 $text0 $text1 $text2 $text3 )
uservar=$new
for (( i=1; i<=uservar; i++)); do echo "$text" | sed "s/$match/&\n ${ARR1[i]}/" ;done

So when execute it prints me only a
Quote:
Enter number:3
this is only a test
so please be patient
<color="red" />
this is only a test
so please be patient
<color="red" />
this is only a test
so please be patient
<color="red" />
It should print me
Quote:
Enter number:3
this is only a test
so please be patient
<color="red" />
MARIA
JACK
BRAD
------ Post updated at 08:58 AM ------

Quote:
Originally Posted by tomislav91
I will try to combine with user input and variable match and text ehich i said earlier

------ Post updated at 08:58 AM ------

i did it like this
Code:
#!/bin/bash
read -p 'Enter number:' new
match='<color="red"  \/>'
text='text='this is only a test
so please be patient
<color="red" />'

text0='<h1> <!-- COmment -->
this is a test
    </h1>'
text1="MARIA"
text2="JACK"
text3="BRAD"
ARR1=( 0 $text0 $text1 $text2 $text3 )
uservar=$new
for (( i=1; i<=uservar; i++)); do echo "$text" | sed "s/$match/&\n ${ARR1[i]}/" ;done

So when execute it prints me only a

It should print me
# 12  
So - what do you expect? It prints exactly what you told it to print. Did you do a test run with nothing but my proposal, unalterd?

Last edited by RudiC; 09-02-2018 at 03:12 PM..
# 13  
I dont know why dont print from var $text1, $text2 etc. Why only $text0

------ Post updated at 02:44 PM ------

I use for on my echo with sed..hmmm, i must to use for on array within sed, if I am correct...
Login or Register to Reply

|
Thread Tools Search this Thread
Search this Thread:
Advanced Search

More UNIX and Linux Forum Topics You Might Find Helpful
Search String, Out matched text and input text for no match.
jojojmac5
I need to search a string for some specific text which is no big deal using grep. My problem is when the search fails to find the text. I need to add text like "na" when my search does not match. I have tried this command but it does not work when I put the command in a loop in a bash script: ...... UNIX for Dummies Questions & Answers
12
UNIX for Dummies Questions & Answers
Matching string from input to string of file
a_smith
Hi, i want to know how to compare string of file with input string im trying following code: file_no=`paste -s -d "||||\n" a.txt | cut -c 1` #it will return collection number from file echo "enter number" read " curr_no" if ; then echo " current number already present" fi ...... Shell Programming and Scripting
4
Shell Programming and Scripting
Grep a string from input file and delete next three lines including the line contains string in xml
greet_sed
Hi, 1_strings file contains $ cat 1_strings /home/$USER/Src /home/Valid /home/Review$ cat myxml <projected value="some string" path="/home/$USER/Src"> <input 1/> <estimate value/> <somestring/> </projected> <few more lines > <projected value="some string" path="/home/$USER/check">...... Shell Programming and Scripting
4
Shell Programming and Scripting
input a string and copy lines from a file with that string on it
engr.jay
i have a file1 with many lines. i have a script that will let me input a string. for example, APPLE. what i need to do is to copy all lines from file1 where i can find APPLE or any string that i specify and paste in on file 2 thanks in advance!... Shell Programming and Scripting
4
Shell Programming and Scripting
Extracting particular string in a file and storing matched string in output file
sushmab82
Hi , I have input file and i want to extract below strings <msisdn xmlns="">0492001956</ msisdn> => numaber inside brackets <resCode>3000</resCode> => 3000 needs to be extracted <resMessage>Request time getBalances_PSM.c(37): d out</resMessage></ns2:getBalancesResponse> => the word...... Shell Programming and Scripting
14
Shell Programming and Scripting