Visit Our UNIX and Linux User Community


awk inside another awk statement


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting awk inside another awk statement
# 1  
Old 12-30-2009
awk inside another awk statement

hi all,

i have two files

1) a.txt
Code:
one
two
three

2)
Code:
abc "one" = 10
pqr  "three" = 20
345 "two" = 0

this is what i want in third file

3)
Code:
one 10
two 0
three 20

i need to pick each word from file 1 and search for it in the file 2 and write the word and the corresponding number in the file 2 to file 3.can we have an awk statement inside another awk stmnt?

Last edited by zaxxon; 12-30-2009 at 04:46 AM.. Reason: use code tags please, thank you
# 2  
Old 12-30-2009
use nawk,gawk or /usr/xpg4/bin/awk:-

Code:
nawk 'NR==FNR{ a[$1]=$0 ; next}
($0 ~ a[$2]) { gsub(/\=/,"",$3) ; print a[$2],"\t",$3 }
'  a.txt  FS="\"" b.txt | sort -k1.3 > c.txt

SmilieSmilieSmilieSmilieSmilieSmilie
# 3  
Old 12-30-2009
Try:
Code:
awk -F'[ ="]*' 'NR==FNR{A[$2]=$3;next} {$2=A[$1]}1' b.txt a.txt > c.txt

-or, a bit nicer perhaps-
Code:
awk -F'[ ="]*' 'NR==FNR{A[$2]=$3;next}{print $1, A[$1]}' b.txt a.txt > c.txt

# 4  
Old 12-30-2009
Code:
nawk -F'[ "=]' 'NR==FNR{_[$3]=$NF}NR!=FNR{print $1" "_[$1]}' file2 file1


Previous Thread | Next Thread
Test Your Knowledge in Computers #50
Difficulty: Medium
Matti Makkonen is considered to be the 'Father of SMS'.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk statement piped inside sed

Hello folks, I have multiple occurrences of the pattern: ).: where is any digit, in various text context but the pattern is unique as this regex. And I need to turn this decimal fraction into an integer (corresponding percent value: the range of 0-100). What I'm doing is: cat... (1 Reply)
Discussion started by: roussine
1 Replies

2. Shell Programming and Scripting

Convert Update statement into Insert statement in UNIX using awk, sed....

Hi folks, I have a scenario to convert the update statements into insert statements using shell script (awk, sed...) or in database using regex. I have a bunch of update statements with all columns in a file which I need to convert into insert statements. UPDATE TABLE_A SET COL1=1 WHERE... (0 Replies)
Discussion started by: dev123
0 Replies

3. Shell Programming and Scripting

If statement in awk

I run my script "switch.sh" repeatedly (within 30 seconds). Each time script is triggered, script itself should kill all previous process. Here is my code: for pid in $(ps -fe | grep 'switch.sh' | grep -v grep | awk '{if ($2<$$) print $2}'); do sudo kill -9 $pid done sleep 30 ... (6 Replies)
Discussion started by: armatron
6 Replies

4. Shell Programming and Scripting

Command in inside awk statement

Hello can you please help me with below script which is meant to delete clients from multiple netbackup policies I want to run a command insdie awk statement apparelnlty this script is not working for me for i in $( cat clients_list) do bppllist -byclient $i | awk... (6 Replies)
Discussion started by: Sara_84
6 Replies

5. Shell Programming and Scripting

Passing awk variable argument to a script which is being called inside awk

consider the script below sh /opt/hqe/hqapi1-client-5.0.0/bin/hqapi.sh alert list --host=localhost --port=7443 --user=hqadmin --password=hqadmin --secure=true >/tmp/alerts.xml awk -F'' '{for(i=1;i<=NF;i++){ if($i=="Alert id") { if(id!="") if(dt!=""){ cmd="sh someScript.sh... (2 Replies)
Discussion started by: vivek d r
2 Replies

6. Shell Programming and Scripting

HELP with AWK one-liner. Need to employ an If condition inside AWK to check for array variable ?

Hello experts, I'm stuck with this script for three days now. Here's what i need. I need to split a large delimited (,) file into 2 files based on the value present in the last field. Samp: Something.csv bca,adc,asdf,123,12C bca,adc,asdf,123,13C def,adc,asdf,123,12A I need this split... (6 Replies)
Discussion started by: shell_boy23
6 Replies

7. Shell Programming and Scripting

Sysdate inside awk print statement

Hi, I am using awk statement to extract data from a file and write a new file with certain columns rearranged and few hard coded values added to new file. Now i need to add a column with sysdate. can i do that inside the awk print statement? Now: nawk ' /^3/ BEGIN {FS=","}... (2 Replies)
Discussion started by: selvankj
2 Replies

8. Shell Programming and Scripting

Help Regarding AWk and IF THEN ELSE Statement

Hi, I have a data file which contains record count. So doing wc -l rightfit_balancing_count.dat | awk '{print $1}'] gives me the record count stored in the file. Now, i want to send a mail from UNIX, if the record count is equal to 0,otherwise it should do nothing. Any help... (2 Replies)
Discussion started by: Shell_Learner
2 Replies

9. UNIX for Dummies Questions & Answers

Awk inside Awk expression

Hi, It can be used awk inside other Awk?. I need to get another text processing while other text process. Thank you. (2 Replies)
Discussion started by: pepeli30
2 Replies

10. UNIX for Dummies Questions & Answers

if statement in awk

Hi Friends How do I do two things from one if statement inside awk? I want to run a script and create a new file from the same condition. awk '{ if ($2 == ""){print " "|"cd /local/test; ./script.ksh"}{cat > ran_true.txt}}' $IN_FILE Bolded are the two things I want to be done. Thanks (1 Reply)
Discussion started by: UNovIX
1 Replies

Featured Tech Videos