Script help


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Script help
# 1  
Old 03-02-2005
Script help

I have two files, gmrd.txt and core_extract.txt

I need awk to look at the first column of each file and if a field appears in core_extract that also appears in gmrd.txt then it should write append that line to a file

here is what i have so far...currently it replaces the line found with "TEST"

any help appreciated

awk '
BEGIN {
FS = OFS = ";"
while (getline < "core_extract.txt" > 0)
arr[$1] = 1
}
$1 in arr {
$0 = "TEST"
}
{print}
' gmrd.txt

i'm using the K-shell on an AIX system

cheers
# 2  
Old 03-02-2005
Quote:
Originally Posted by penfold
I have two files, gmrd.txt and core_extract.txt

I need awk to look at the first column of each file and if a field appears in core_extract that also appears in gmrd.txt then it should write append that line to a file

here is what i have so far...currently it replaces the line found with "TEST"

any help appreciated

awk '
BEGIN {
FS = OFS = ";"
while (getline < "core_extract.txt" > 0)
arr[$1] = 1
}
$1 in arr {
$0 = "TEST"
}
{print}
' gmrd.txt

i'm using the K-shell on an AIX system

cheers
Code:
awk '
  BEGIN {                                        
     FS = OFS = ";"   
  }

  FNR==NR { arr[$1]=$0; next }
  1
  $1 in arr { print arr[$1] }
  ' gmrd.txt core_extract.txt

# 3  
Old 03-02-2005
thanks for the vg!

however when I run that script it actually still leaves the output from core_extract.txt in the output - is there any way of just seeing the relevant records from gmrd.txt?

again many thanks!
# 4  
Old 03-02-2005
Quote:
Originally Posted by penfold
thanks for the vg!

however when I run that script it actually still leaves the output from core_extract.txt in the output - is there any way of just seeing the relevant records from gmrd.txt?

again many thanks!
from the original posting:
Quote:
I need awk to look at the first column of each file and if a field appears in core_extract that also appears in gmrd.txt then it should write append that line to a file
NOW I think you want this:
Code:
awk '
  BEGIN {                                        
     FS = OFS = ";"   
  }

  FNR==NR { arr[$1]=$0; next }
  $1 in arr { print arr[$1] }
  ' gmrd.txt core_extract.txt

# 5  
Old 03-02-2005
vg thanks for the assitance with this - it works great!

just to get to grips with this - i'm assuming the 1 is a command that appends output to the specified file?
# 6  
Old 03-02-2005
Quote:
Originally Posted by penfold
vg thanks for the assitance with this - it works great!

just to get to grips with this - i'm assuming the 1 is a command that appends output to the specified file?
1 - is awk's shortcut of saying "true". When awk 'condition' [logically] evaluates to true it simply prints the current record. In your case it will print record/line from core_extract.txt.

The more explicit/equivalent way to do this would be:
Code:
{print $0}

# 7  
Old 03-02-2005
vg, if i could tap your knowledge one more time...

how would I modify the above script to use the 4 field in gmrd.txt and the 1st field in core_extract.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