Visit The New, Modern Unix Linux Community


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


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Search for a string,delete the line and replace with new string in a file
# 1  
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 me to achieve this.
# 2  
Hi Pradhikshan

Any attempts from your side yet?
If not, to get you started, start playing around with these: (please do required changes yourself, eg: Desktop)

I'm not familiar with ksh, but these bash basics should work fine:
Code:
cd Desktop
ls
echo *
for this_file in *
do
	echo "$this_file"
	echo "more commands of yours"
	ls -l "$this_file"
done

SEARCH="this pattern"
grep --color=auto "$SEARCH" *
echo "$SEARCH" | sed s,"$SEARCH","new stuff",

If the following output pleases you, prefix '*' with -i
Code:
sed s,"$SEARCH","new stuff", *

Hope this helps

Last edited by sea; 09-28-2015 at 11:52 AM.. Reason: changed code
This User Gave Thanks to sea For This Post:
# 3  
Thanks for your reply but i would like to delete the line that has the matching string and then replace the line with new string.
# 4  
Quote:
Originally Posted by sea
Hi Pradhikshan

Any attempts from your side yet?
<...>
Thank you
# 5  
Quote:
Originally Posted by Pradhikshan
Thanks for your reply but i would like to delete the line that has the matching string and then replace the line with new string.
Hello Pradhikshan,

Following may help you in same, here I have taken an example of *.txt files, you can make it as per your requirement.
Code:
for i in *.txt; 
do 
   sed -i 's/^test test test$/"My new line here R. Singh"/g' $i; 
done

Line sed -i 's/^test test test$/"My new line here R. Singh"/g' $i; can be explained as sed -i 's/^Your required line to be changed$/"Your new line"/g' $i; Hope this helps you, let us know if you have any queries on same.

Thanks,
R. Singh

Last edited by RavinderSingh13; 09-28-2015 at 12:05 PM.. Reason: Added a comment about command explaination
This User Gave Thanks to RavinderSingh13 For This Post:
# 6  
Hi Ravinder, thanks for ur reply. Is there any other way to achieve this without -i as sed with -i was not working in my machine.
# 7  
Hello Pradhikshan,

Following may help you in same then.
Code:
for i in *.txt; 
do 
   sed 's/^test test test$/"My new line here R. Singh"/g' $i > $i"_tmp"
   mv $i"_tmp" $i 
done

Thanks,
R. Singh
 

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #282
Difficulty: Easy
Time-sharing operating systems schedule tasks for efficient use of the system and may also include accounting software for cost allocation of processor time, mass storage, printing, and other resources.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Search partial string in a file and replace the string - UNIX

I have the below string which i need to compare with a file and replace this string in the file which matches closely. Can anyone help me on this. string(Scenario 1)- user::r--,user::ourfrd:r-- String(Scenario 2)- user::r-- File **** # file: /local/Desktop/myfile # owner: me # group:... (6 Replies)
Discussion started by: sarathy_a35
6 Replies

2. UNIX for Beginners Questions & Answers

Need help with how to search a file for a variable string and delete that line

Hi, I have a working script. It does what I am intending it to but a bit confused whether the sed part is supposed to be working or not. Further down is the script with the sed part that should have been working but not and the grep -v part which is the workaround that I am using at the... (10 Replies)
Discussion started by: newbie_01
10 Replies

3. 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

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

Grep a string from input file and delete next three lines including the line contains string in xml

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">... (4 Replies)
Discussion started by: greet_sed
4 Replies

7. UNIX for Dummies Questions & Answers

Search a string in the file and then replace another string after that position

Hi I am looking for a particular string in a file.If the string exists, then I want to replace another string with some other text.Once replaced, search for the same text after that character position in the file. :wall: E.g: Actual File content: Hello Name: Nitin Raj Welcome to Unix... (4 Replies)
Discussion started by: dashing201
4 Replies

8. 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

9. Shell Programming and Scripting

search string and delete the line

Hi All, I have a file from Mainframe which has one of the lines with so many words... i tried to fold, format to 80 chararcter.. stil did not work. So i have decided to search for a string in that line Ex.FLIGHT PLAN and once if it is found i want to delete the entire line. Please help... (2 Replies)
Discussion started by: digitalrg
2 Replies

10. UNIX for Dummies Questions & Answers

how can search a String in one text file and replace the whole line in another file

i am very new to UNIX plz help me in this scenario i have two text files as below file1.txt name=Rajakumar. Discipline=Electronics and communication. Designation=software Engineer. file2.txt name=Kannan. Discipline=Mechanical. Designation=CADD Design Engineer. ... (6 Replies)
Discussion started by: kkraja
6 Replies

Featured Tech Videos