Grep command inside awk


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Grep command inside awk
# 1  
Old 06-30-2013
Grep command inside awk

Hi,

I would like to use grep command inside awk.

Here is my requirement below :

file.txt
Code:
col1     col2  col3 col 4 col 5
wrxwrx 124 jun 3 Sensex.EMEA 
wrxwrx 120 jun 4 Emex.US
wrxwrx 130 feb 3 passion.AUS
wrxwrx 145 feb 9 lession.AUS
wrxwrx 130 feb 5 pass.US
wrxwrx 130 feb 8 letter.EMEA

Required out put :

output.txt

Code:
col1     col2  col3 col 4 col 5         col6
wrxwrx 124 jun 3 Sensex.EMEA        EMEA 
wrxwrx 120 jun 4 Emex.US                          US
wrxwrx 130 feb 3 passion.AUS             AUS
wrxwrx 145 feb 9 lession.AUS               AUS
wrxwrx 130 feb 5 pass.US                          US
wrxwrx 130 feb 8 letter.EMEA              EMEA

I tired
Code:
awk 'NR=FNR   {TEM[NR]=$(grep "EMEA \| US \| AUS" file.txt ; next }' {print $1,$2,$3,$4,$5,TEM[NR]}' file.txt output.txt

If can any one help me that would be great thanks!!!!

Last edited by jim mcnamara; 06-30-2013 at 10:48 AM.. Reason: code tags
# 2  
Old 06-30-2013
Try:
Code:
awk 'NR==1{$(NF+1)="col 6"}NR>1{x=$NF;sub(".*\\.","",x);$(NF+1)=x}1' file.txt > output.txt

# 3  
Old 06-30-2013
or maybe this
Code:
awk -F '.'  'FNR==1 { print $0, "      col6"; next} {print $0, "       ", $(NF)}' infile

# 4  
Old 06-30-2013
Dear Bartus,

Could you please explain your code for me ???

Code:
awk 'NR==1{$(NF+1)="col 6"}NR>1{x=$NF;sub(".*\\.","",x);$(NF+1)=x}1' file.txt > output.txt

Image

---------- Post updated at 02:30 PM ---------- Previous update was at 02:24 PM ----------

Here there is a quick question.

I will have the files like below
Code:
Sensex.AM.EMEA
Emex.PM.US
passion.AM.PL.AUS
lession.PM.GT.AUS
pass.AF.US
letter.AT.EMEA

Please consider the above comments also

Last edited by Scrutinizer; 06-30-2013 at 12:25 PM.. Reason: code tags
# 5  
Old 06-30-2013
Code:
'NR==1{$(NF+1)="col 6"}

For first record only, create a new field to hold the field heading.

Code:
NR>1{x=$NF;sub(".*\\.","",x);

For all records after the first record, get the characters to the right of the last decimal and assign it to variable x. It does this by using Regular Expression to replace all characters to the left of and including the decimal with nothing.

Code:
$(NF+1)=x}1'

Print entire record including the value for the new field.

It appears that both of the solutions will handle your new file if your requirement is to print the characters to the right of the last decimal place in new field at end of each record.
# 6  
Old 07-01-2013
Thanks a lot for your explanation !!!

It works fine!!!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

awk trouble inside another command

I tried running this. dsh -w server1 'lsof /audit | awk '{ print $2 }'' It did not like above so I tried to escape the single parenthesis at the end. dsh -w server1 'lsof /audit | awk '{ print $2 }\'' It then hung so I changed up the parenthesis to this. This worked. dsh -w server1... (6 Replies)
Discussion started by: cokedude
6 Replies

2. 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

3. Shell Programming and Scripting

Help in using date command inside awk

Hi All, bash-3.2$ autorep -J BOX_NAME% -l0 | grep BOX_NAME| awk -f awkScript.awk sh: -c: line 0: unexpected EOF while looking for matching `"' sh: -c: line 1: syntax error: unexpected end of file BOX_NAME SU 06/21/2013 03:44:03 06/21/2013 07:46:37 0 #My awkfile { ... (3 Replies)
Discussion started by: ddspark
3 Replies

4. Shell Programming and Scripting

Multiple command execution inside awk command during xml parsing

below is the output xml string from some other command and i will be parsing it using awk cat /tmp/alerts.xml <Alert id="10102" name="APP-DS-ds_ha-140018-componentFailure-S" alertDefinitionId="13982" resourceId="11427" ctime="1359453507621" fixed="false" reason="If Event/Log Level(ANY) and... (2 Replies)
Discussion started by: vivek d r
2 Replies

5. Shell Programming and Scripting

How to use same variable value inside as well as outside of the awk command?

Hi Jim, The following script is in working state. But i m having one more problem with awk cmd. Could you tell me how to use any variable inside awk or how to take any variable value outside awk. My problem is i want to maintain one property file in which i am declaring variable value into that... (12 Replies)
Discussion started by: Ganesh Khandare
12 Replies

6. Shell Programming and Scripting

running bash command inside awk

Org file 192.168.1.10 d:\adir\xdir 192.168.1.11 d:\bdir\ydir want to covert it into robocopy \\192.168.1.10\d$\adir\xdir\log* some_localdir\adir robocopy \\192.168.1.10\d$\adir\ydir\log* some_localdir\bbdir (5 Replies)
Discussion started by: ydk
5 Replies

7. Shell Programming and Scripting

case command inside awk/nawk

well I found lot of topics about awk..about if command in awk.. but I had to implement this: nawk -F"|" ' $47 ~ /0R0011/ { print > ("/home/user/M/MC.tmp" )} $47 ~ /0R0012/ { print > ("/home/user/M/DuSI.tmp" )} $47 ~ /0R0014/ { print > ("/home/user/M/FF.tmp" )} $47 ~ /0R0018/ { print >... (9 Replies)
Discussion started by: abdulaziz
9 Replies

8. Shell Programming and Scripting

how to redirect the output of a grep command to a file inside a shell script

hi, i wat to get the output of a grep command in a file. but when i am trying out the same grep command in the unix prompt its working fine.. i am getting the output properly.. but when i am writing the same command inside my shell script , its just creating a new output file with no contents... (11 Replies)
Discussion started by: kripssmart
11 Replies

9. UNIX for Dummies Questions & Answers

how to get the output of a grep command to a file inside a shell script

hi, i wat to get the output of a grep command in a file. but when i am trying out the same grep command in the unix prompt its working fine.. i am getting the output properly.. but when i am writing the same command inside my shell script , its just creating a new output file with no contents... (1 Reply)
Discussion started by: kripssmart
1 Replies

10. Shell Programming and Scripting

Running command inside awk

Hi, I have a awk script to read a CSV file. After reading the values i want to call a executable (nameely call_it) with the values what i read from the scv file. I dont want to use system command inside the awk. Is there any other way to run the executable from the awk script Thanks ... (1 Reply)
Discussion started by: Raghuram.P
1 Replies
Login or Register to Ask a Question