Sponsored Content
Top Forums Shell Programming and Scripting Search and Replace in a new FILE. Post 302975727 by mohtashims on Friday 17th of June 2016 01:55:50 PM
Old 06-17-2016
Quote:
Originally Posted by RudiC
Try this boiled down attempt - might not work on Solaris:

Code:
find /tmp/config -type f -exec grep -lE "(white|red|blue)[^=]" {} + |  awk '
FNR == 1        {FC++
                }
FC == 1         {ARGV[ARGC++] = $1
                 next
                }
FC == 2         {RP[$1] = $2
                 next
                }
FNR == 1        {NFN = FILENAME ".tmp.replace"
                }
                {for (r in RP) gsub (r, RP[r])
                 print > NFN     
                }
' - FS="=" data.txt

EDIT: Thinking twice, I don't really like that. Let me work on sth. that extracts the keywords for the grep from the data file...
I don't want to restrict to these three "white|red|blue"

The data.txt may contain as many replace string as we like.

---------- Post updated at 12:55 PM ---------- Previous update was at 12:34 PM ----------

Quote:
Originally Posted by MadeInGermany
I would use the following sed script to produce another sed script:
Code:
sed -n 's/..*=.*/s=&=g/p' < data.txt > data.sed

then run this on on your input file(s)
Code:
...
while read file
do
  sed -f data.sed "$file" > "$file"_tmp.replace
done

How will this work ?

Code:
sed -f data.sed "$file" > "$file"_tmp.replace

It will work for the first string replacement.

But for the entry string replacement after reading from the data.txt it will not update "$file"_tmp.replace rather take "$file" as the input again and override the first replaced string.

So, it needs to update the same "$file"_tmp.replace for each entry it pickes from the data.txt. Note: data.txt can have as many replace entries as the user likes to feed-in.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Search and replace in file

Hi guys, I have one file with duplicate string. I want to replace all the occurance of that string with some other string. How can I do that in vi editor? Malay Maru (3 Replies)
Discussion started by: malaymaru
3 Replies

2. Shell Programming and Scripting

Search and replace in file..

Hi All, As I'm working on a Unix script... and the requirement is like, I need to search a word and replace it with the another word... for that i'm using SED command.... can anybody give any other alternate for this...? Thanks Amit (2 Replies)
Discussion started by: Amits
2 Replies

3. Shell Programming and Scripting

search and replace in a file

Hi I have to search & replace column in the file.For example ..below iam having File1. in which 3rd column ...if it is A it should be 'ACT' if P it should be 'PAD' and if it ils D it should be 'DEC' I have to pass column no ,value and to be converted value as variables in to the... (2 Replies)
Discussion started by: satyam_sat
2 Replies

4. UNIX for Advanced & Expert Users

search and replace in a file

I have a file (say file1.txt) and I have to search for a line which has a text replace it and replace another string too in the same line. Eg: file1.txt -------- x='hai' y='world' z='unix' x='hai' y='world' x='hai' z='perl' y='world' z="world" k="junk" b="world" z='perl' x='hai'... (3 Replies)
Discussion started by: ammu
3 Replies

5. Shell Programming and Scripting

Help on search and replace in a file

Hi all, The operating system is Solaris 10 I have example line here below I need to change the stat1 to stat2 using a shell script. search for space(" ") and replace with "\ " Stat1 --- /data/Sat Night Stay.txt Stat2 --- /data/Sat\ Night\ Stay.txt Thanks Firestar. (1 Reply)
Discussion started by: firestar
1 Replies

6. Shell Programming and Scripting

Optimised way for search & replace a value on one line in a very huge file (File Size is 24 GB).

Hi Experts, I had to edit (a particular value) in header line of a very huge file so for that i wanted to search & replace a particular value on a file which was of 24 GB in Size. I managed to do it but it took long time to complete. Can anyone please tell me how can we do it in a optimised... (7 Replies)
Discussion started by: manishkomar007
7 Replies

7. Emergency UNIX and Linux Support

Search and replace in text file

Hi, I have gigabytes of text files that I need to search for "&" and replace with "&amp". Is there a way to do this efficiently (like sed command)? Hope you could help. Thanks. (17 Replies)
Discussion started by: daytripper1021
17 Replies

8. Shell Programming and Scripting

Search for a string in a file and replace

I have file t1.log Contents of t1.log file Number of records processed: Number of records rejected: Error : xyz .......... abc .......... aaa _] start time : end time : Please let me know how i can remove the contents highlighted in red in the t1.log file. Thanks Sam (3 Replies)
Discussion started by: sam777
3 Replies

9. Shell Programming and Scripting

Nested search in a file and replace the inner search

Hi Team, I am new to unix, please help me in this. I have a file named properties. The content of the file is : ##Mobile props east.url=https://qa.east.corp.com/prop/end west.url=https://qa.west.corp.com/prop/end south.url=https://qa.south.corp.com/prop/end... (2 Replies)
Discussion started by: tolearn
2 Replies

10. Shell Programming and Scripting

Search and replace in file

hi All i'm new to shell/bash scripting and need help to write a script. question: i have a file of 100's of line, i need to replace all zeros in that file with its respective position, starting from 0 to 23 and remove the remaining sample file is like. Enter the date in the format... (12 Replies)
Discussion started by: sunnu2u86
12 Replies
All times are GMT -4. The time now is 03:51 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy