Visit Our UNIX and Linux User Community


help for search string by line


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting help for search string by line
# 8  
Old 10-18-2009
Quote:
Originally Posted by hihihehe
and what actually done < 'file" means?
Here, another simple example:
Code:
while read line; do
    echo "${line}"
done < 'file'

That loop reads every line from the 'file'. You sort of 'include' the file within the loop.
Quote:
Originally Posted by hihihehe
but i don't understand how it read the line like 2nd and 3rd line if the string is matched.
I simply read line twice in a row =)
If you want to be more flexible, you can:
Code:
    if [ "A: "${input} = "${line}" ]; then 
        read line2; read line3; 
        #echo or another thing to do with both lines
        echo "${line2}"; echo "${line3}"
    fi

Hope you understand a bit more :)

Last edited by tukuyomi; 10-18-2009 at 06:49 AM..
# 9  
Old 10-18-2009
hmm..now i get it. thanks

but can I use that method to modify my data?
# 10  
Old 10-18-2009
Mmm, you'll want to use sed or any command with something like:
Code:
line2=$(echo "${line2}" | sed 'script')

Now, to get it back to the file, I think of saving your modifications in a temporary file, but there sure must be a more elegant method Smilie
# 11  
Old 10-18-2009
hmm..i tried it but get error:
syntax error at line 73: `line3=$' unexpected

Like this, I will prompt user to input the string inside the A: field.
if the string match with A: field then will prompt user to enter new string that need to replace for C: field.
# 12  
Old 10-18-2009
Code:
#!/bin/sh

read -p'A input: ' inputA

while read line; do
    if [ "A: "${inputA} = "${line}" ]; then 
        read lineB; read lineC
        match='true'
        break
    fi
done < 'file'

if [ ${match} = 'true' ]; then
    read -p'input C: ' inputC
    sed -i 's/'"${lineC}"'/C: '"${inputC}"'/' 'file'
fi

exit 0

Well, as far as I tested, it works for me.

If A: matches, then we read lineB and lineC, we set a variable match and we break the while loop
if match is true (A: = Hi or second), then we read inputC from the user and we replace the actual line in the file (make a backup in case it does not work as you want)

Previous Thread | Next Thread
Test Your Knowledge in Computers #892
Difficulty: Medium
sed scripts cannot have comments.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Search for a string,delete the line and replace with new string in a file

Hi Everyone, I have a requirement in ksh where i have a set of files in a directory. I need to search each and every file if a particular string is present in the file, delete that line and replace that line with another string expression in the same file. I am very new to unix. Kindly help... (10 Replies)
Discussion started by: Pradhikshan
10 Replies

2. Shell Programming and Scripting

Search string within a file and list common words from the line having the search string

Hi, Need your help for this scripting issue I have. I am not really good at this, so seeking your help. I have a file looking similar to this: Hello, i am human and name=ABCD. How are you? Hello, i am human and name=PQRS. I am good. Hello, i am human and name=ABCD. Good bye. Hello, i... (12 Replies)
Discussion started by: royzlife
12 Replies

3. Shell Programming and Scripting

String search and print next all lines in one line until blank line

Dear all I want to search special string in file and then print next all line in one line until blank lines come. Help me plz for same. My input file and desire op file is as under. i/p file: A1/EXT "BSCABD1_21233G1" 757 130823 1157 RADIO X-CEIVER ADMINISTRATION BTS EXTERNAL FAULT ... (7 Replies)
Discussion started by: jaydeep_sadaria
7 Replies

4. Shell Programming and Scripting

Search a string in a text file and add another string at the end of line

Dear All I am having a text file which is having more than 200 lines. EX: 001010122 12000 BIB 12000 11200 1200003 001010122 2000 AND 12000 11200 1200003 001010122 12000 KVB 12000 11200 1200003 In the above file i want to search for string KVB... (5 Replies)
Discussion started by: suryanarayana
5 Replies

5. Shell Programming and Scripting

Search a string in a text file and add another string at the particular position of a line

I am having a text file which is having more than 200 lines. EX: 001010122 12000 BIB 12000 11200 1200003 001010122 2000 AND 12000 11200 1200003 001010122 12000 KVB 12000 11200 1200003 In the above file i want to search for string KVB and add/replace... (1 Reply)
Discussion started by: suryanarayana
1 Replies

6. Shell Programming and Scripting

Search several string and convert into a single line for each search string using awk command AIX?.

I need to search the file using strings "Request Type" , " Request Method" , "Response Type" and by using result set find the xml tags and convert into a single line?. below are the scenarios. Cat test Nov 10, 2012 5:17:53 AM INFO: Request Type Line 1.... (5 Replies)
Discussion started by: laknar
5 Replies

7. Shell Programming and Scripting

Search a string and to add another string after that in new line

Hi Guys I am facing a problem:wall: In searching a string in a file and to add another string(ie. passed through command line argument) just after this(searched) string in new line. Thanks (2 Replies)
Discussion started by: kushwaha
2 Replies

8. Shell Programming and Scripting

search a string in a particular column of file and return the line number of the line

Hi All, Can you please guide me to search a string in a particular column of file and return the line number of the line where it was found using awk. As an example : abc.txt 7000,john,2,1,0,1,6 7001,elen,2,2,0,1,7 7002,sami,2,3,0,1,6 7003,mike,1,4,0,2,1 8001,nike,1,5,0,1,8... (3 Replies)
Discussion started by: arunshankar.c
3 Replies

9. Shell Programming and Scripting

search string in a file and retrieve 10 lines including string line

Hi Guys, I am trying to write a perl script to search a string "Name" in the file "FILE" and also want to create a new file and push the searched string Name line along with 10 lines following the same. can anyone of you please let me know how to go about it ? (8 Replies)
Discussion started by: sukrish
8 Replies

10. Shell Programming and Scripting

Perl: Search for string on line then search and replace text

Hi All, I have a file that I need to be able to find a pattern match on a line, search that line for a text pattern, and replace that text. An example of 4 lines in my file is: 1. MatchText_randomNumberOfText moreData ReplaceMe moreData 2. MatchText_randomNumberOfText moreData moreData... (4 Replies)
Discussion started by: Crypto
4 Replies

Featured Tech Videos