Script help


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Script help
# 1  
Old 12-13-2008
Script help

Hi
Code:
I need to script to replace the values in one file to other file.

Ex:
Search for Freq='W' and Start_dt and End_dt values from file1 and replace with File2.txt values.

File1.txt

Freq='W'
Start_dt='2001/01/01'
END_DT='2001/01/07'

File2.txt

Freq='M'
Start_dt='2006/01/01'
End_dt='2006/01/31'
load_src='xxxxxxxx'
load_ctry='xxxxxxxx'
.................
.................

Expected o/p

Freq='W'
Start_dt='2001/01/01'
END_DT='2001/01/07'
load_src='xxxxxxxx'
load_ctry='xxxxxxxx'

Thanks in advance
MR
# 2  
Old 12-13-2008
If you only have 3 lines in the first file:

Code:
awk -F "'" '
NR==FNR {a[++i]=$0;next}
$1=="Freq=" && $2 =="M" {
  for (j=1;j<=i;j++) {print a[j];getline}
}
{print}' File1.txt File2.txt

Use nawk or /usr/xpg4/bin/awk on Solaris if you get errors.

Regards
# 3  
Old 12-14-2008
Hi
I tried yours ,its not working .

File1 always 3 lines ,take Freq='W' from file1 and replace file2.txt value with application.Freq='W' and remaining start_dt and end_dt values only .

Code:
File1.txt

Freq='W'
Start_dt='2001/01/01'
END_DT='2001/01/07'

File2.txt

application.Freq='M'
application.Start_dt='2006/01/01'
application.End_dt='2006/01/31'

application1.Freq='D'
application2.Start_dt='2006/01/01'
application3.End_dt='2006/01/31'


Expected o/p

application.Freq='W'
application.Start_dt='2001/01/01'
application.End_dt='2001/01/07'

application1.Freq='W'
application2.Start_dt='2001/01/01'
application3.End_dt='2001/01/07'

Thanks,
MR
# 4  
Old 12-14-2008
Quote:
Originally Posted by mohan705
Hi
I tried yours ,its not working .

File1 always 3 lines ,take Freq='W' from file1 and replace file2.txt value with application.Freq='W' and remaining start_dt and end_dt values only .
Your request in the first post was to search for Freq='W' and your 2nd file differs from your first post so it should not work. Try this:

Code:
awk '
NR==FNR {a[++i]=$0;next}
/Freq=/ {
  for (j=1;j<=i;j++) {print a[j];getline}
}
{print}' File1.txt File2.txt

# 5  
Old 12-14-2008
Quote:
Originally Posted by mohan705
Hi
I need to script to replace the values in one file to other file.

Ex:
Search for Freq='W' and Start_dt and End_dt values from file1 and replace with File2.txt values.

Your example shows the opposite; it replaces the values in File2.txt with those from File1.txt.
Quote:

Code:
File1.txt

Freq='W'
Start_dt='2001/01/01'
END_DT='2001/01/07'

Code:
File2.txt

Freq='M'
Start_dt='2006/01/01'
End_dt='2006/01/31'
load_src='xxxxxxxx'
load_ctry='xxxxxxxx'
.................
.................

Expected o/p

Code:
Freq='W'
Start_dt='2001/01/01'
END_DT='2001/01/07'
load_src='xxxxxxxx'
load_ctry='xxxxxxxx'


Code:
. File2.txt
. File1.txt

while IFS== read a b
do
  eval "val=\$$a"
  printf "%s=%s\n" "$a" "$val"
done < File2.txt

Login or Register to Ask a Question

Previous Thread | Next Thread

5 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to block first bash script until second bash script script launches web server/site?

I'm new to utilities like socat and netcat and I'm not clear if they will do what I need. I have a "compileDeployStartWebServer.sh" script and a "StartBrowser.sh" script that are started by emacs/elisp at the same time in two different processes. I'm using Cygwin bash on Windows 10. My... (3 Replies)
Discussion started by: siegfried
3 Replies

2. Shell Programming and Scripting

Shell script works fine as a standalone script but not as part of a bigger script

Hello all, I am facing a weird issue while executing a code below - #!/bin/bash cd /wload/baot/home/baotasa0/sandboxes_finance/ext_ukba_bde/pset sh UKBA_publish.sh UKBA 28082015 3 if then echo "Param file conversion for all the areas are completed, please check in your home directory"... (2 Replies)
Discussion started by: ektubbe
2 Replies

3. UNIX for Dummies Questions & Answers

Calling a script from master script to get value from called script

I am trying to call a script(callingscript.sh) from a master script(masterscript.sh) to get string type value from calling script to master script. I have used scripts mentioned below. #masterscript.sh ./callingscript.sh echo $fileExist #callingscript.sh echo "The script is called"... (2 Replies)
Discussion started by: Raj Roy
2 Replies

4. Shell Programming and Scripting

Script will keep checking running status of another script and also restart called script at night

I am using blow script :-- #!/bin/bash FIND=$(ps -elf | grep "snmp_trap.sh" | grep -v grep) #check snmp_trap.sh is running or not if then # echo "process found" exit 0; else echo "process not found" exec /home/Ketan_r /snmp_trap.sh 2>&1 & disown -h ... (1 Reply)
Discussion started by: ketanraut
1 Replies

5. Shell Programming and Scripting

create a shell script that calls another script and and an awk script

Hi guys I have a shell script that executes sql statemets and sends the output to a file.the script takes in parameters executes sql and sends the result to an output file. #!/bin/sh echo " $2 $3 $4 $5 $6 $7 isql -w400 -U$2 -S$5 -P$3 << xxx use $4 go print"**Changes to the table... (0 Replies)
Discussion started by: magikminox
0 Replies
Login or Register to Ask a Question