replace words in file based on another file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting replace words in file based on another file
# 8  
Old 05-06-2008
really need help on awk

Hi,
regarding the reply, the script has been modified to cope with new requirement of checking last servel characters in a column for replacement.

config file:
001,333

port.csv:
1,2,3,4,5,6,7,8,A-B-001,NNN

expected result:
1,2,3,4,5,6,7,8,A-B-333,NNN

new script:
#!/usr/bin/ksh
#input file for process
FILENAME=port.csv
#config file for replacement
CONFIG_TXT=cfg.txt
#output file for result
OUTPUT=port_result.csv

#awk command
nawk 'BEGIN {FS=OFS=","}
NR==FNR{arr[$1]=$2;next}
$0 !~ "Documentation"{print $0;next}
{split($9,a,"-")}
a[3] in arr{$11=arr[a[3]]}1' $CONFIG_TXT $FILENAME > $OUTPUT

==================
thw above script works wel in nawk. However, I later found out that there is no nawk command in a server and awk must be used. No matter how I modified the script using awk.. it won't work..can someone help me? FNR not supported in awk?
# 9  
Old 05-07-2008
Hi all,
how to re-write the code in perl?
# 10  
Old 05-07-2008
Code:
nawk 'BEGIN{FS=","}
{
if(NR==FNR)
	a[$1]=$2
else
{
	if(index($0,"document")!=0)
	{	for (i in a)
		{	
			if(index($0,i)!=0)
				gsub(i,a[i],$0)
			
		}
		print
	}
	else
	{
		print
	}
}
}' b a

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

How to replace matching words defined in one file on another file?

I have file1 and file2 as shown below, file1: ((org14/1-131541:0.11535,((org29/1-131541:0.00055,org7/1-131541:0.00055)1.000:0.10112,((org17/1-131541:0.07344,(org23/1-131541:0.07426,((org10/1-131541:0.00201,org22/1-131541:0.00243)1.000:0.02451, file2: org14=india org29=america... (5 Replies)
Discussion started by: dineshkumarsrk
5 Replies

2. Shell Programming and Scripting

Replace particular words in file based on if finds another words in that line

Hi All, I need one help to replace particular words in file based on if finds another words in that file . i.e. my self is peter@king. i am staying at north sydney. we all are peter@king. How to replace peter to sham if it finds @king in any line of that file. Please help me... (8 Replies)
Discussion started by: Rajib Podder
8 Replies

3. Shell Programming and Scripting

How to replace some specific words from file?

I have the file like this. cat 123.txt <p> <table border='1' width='90%' align='center' summary='Script output'> <tr><td>text </td> </tr> </table> </p> I want to replace some tags and want the output like below. I tried with awk & sed commands. But no luck. Could someone help me on this? ... (4 Replies)
Discussion started by: thomasraj87
4 Replies

4. Shell Programming and Scripting

How to replace words in file?

Hi Guys, I have a text where we used Ram in 10 times now I want replace all Ram words by Shyam word then how to do it. (6 Replies)
Discussion started by: aaditya321
6 Replies

5. UNIX for Dummies Questions & Answers

Replace the words in the file to the words that user type?

Hello, I would like to change my setting in a file to the setting that user input. For example, by default it is ONBOOT=ON When user key in "YES", it would be ONBOOT=YES -------------- This code only adds in the entire user input, but didn't replace it. How do i go about... (5 Replies)
Discussion started by: malfolozy
5 Replies

6. Shell Programming and Scripting

How to replace character in a file based on another file.?

Hi Gurus, I have really hard job need you guys to help. i have two files one is data file, one is instruction file like below 0000000010000233154825032720204abc BC15 0000000010000233154825032720204defg DB15 1 9 o 10 6 r 16 5 o 21 10 r 31 the requirement is based... (5 Replies)
Discussion started by: ken6503
5 Replies

7. Shell Programming and Scripting

Splitting Concatenated Words in Input File with Words from a Master File

Hello, I have a complex problem. I have a file in which words have been joined together: Theboy ranslowly I want to be able to correctly split the words using a lookup file in which all the words occur: the boy ran slowly slow put child ly The lookup file which is meant for look up... (21 Replies)
Discussion started by: gimley
21 Replies

8. UNIX for Dummies Questions & Answers

To Extract words from File based on Position

Hi Guys, While I was writing one shell script , I just got struck at this point. I need to extract words from a file at some specified position and do some comparison operation and need to replace the extracted word with another word. Eg : I like Orange very much. I need to replace... (19 Replies)
Discussion started by: kuttu123
19 Replies

9. UNIX for Dummies Questions & Answers

sed replace words in file and keep some

lets see if i can explain this in a good way. im trying to replace some words in a file but i need to know what the words are that is beeing replaced. not sure if sed can do this. file.name.something.1DATA01.something.whatever sed "s/./.DATA?????/g" need to know what the first . is... (2 Replies)
Discussion started by: cas
2 Replies

10. Shell Programming and Scripting

How to replace a word with a series of words in a file

Hi, I have a Template file 'TL.body' which says as follows: "There are no <FILENAME> files on the server. " The missing file names are identified and stored in a variable. For Eg: MISSFILE="abc.txt def.txt xyz.txt" I want the values of MISSFILE variable to be replaced against... (2 Replies)
Discussion started by: brap45
2 Replies
Login or Register to Ask a Question