Visit Our UNIX and Linux User Community


Trouble with awk command


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Trouble with awk command
# 1  
Old 01-08-2014
Trouble with awk command

Hi,

I need to read a string with ; separated using loop one filed by one field and perform some operation. Can you please check and let me know how to print command parameterised.

Code:
key=phani;ravi;kiran
number_of_keys=`echo $key|awk '{print NF}' FS=';'`
for (( i = 1; i <= $number_of_keys; i++ ));
do
key=`echo $KEY_TO_COMPARE|awk 'BEGIN { FS = ";" } ; {print $i}'`
cat /home/t.txt| grep -i $key >> temp.txt
done

content of /home/t.txt
Code:
a ais bad
phani is good
kiran is bad
people
bye

# 2  
Old 01-08-2014
modified your code
try
Code:
key="phani;ravi;kiran"
number_of_keys=$(echo $key|awk '{print NF}' FS=';')
for (( i = 1; i <= $number_of_keys; i++ ));
do
key=$(echo $KEY_TO_COMPARE|awk -v var=i 'BEGIN { FS = ";" } ; {print $var}')
grep -i $key /home/t.txt >> temp.txt
done

This User Gave Thanks to pamu For This Post:
# 3  
Old 01-08-2014
Or

Code:
key="phani;ravi;kiran"
echo $key | tr ';' '\n' > keys.lst
grep -if keys.lst /home/t.txt > temp.txt

hope this helps Smilie
This User Gave Thanks to PikK45 For This Post:
# 4  
Old 01-08-2014
Use parameter substitution instead. Assuming there are no blank space separated values in key:
Code:
key="phani;ravi;kiran"

for k in ${key//;/ }
do
        grep -i "$k" /home/t.txt
done > temp.txt

This User Gave Thanks to Yoda For This Post:
# 5  
Old 01-08-2014
Code:
grep -if <(IFS=\;; printf "%s\n" $key) file

This User Gave Thanks to Scrutinizer For This Post:

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

Trouble using awk command

Hi, I have 2 .txt pads containing data. I need a script which reads content of one .txt file, performs some operations and calculates a number which is stored in a variable. Now , all the content of another .txt pad should be appended to first .txt pad at pre calculated nth line number. ... (4 Replies)
Discussion started by: Ravindra Swan
4 Replies

3. Shell Programming and Scripting

Trouble with passing Variable from bash to awk gsub command

Would really appreciate it if someone could point out my mistake in this line of code, i've been staring blankly at it trying everything i can think of some time now and coming up with nothing. #!/bin/bash echo "Enter Username" read Username awk -F: -v var=${Username} '/^var:/... (9 Replies)
Discussion started by: Nostyx
9 Replies

4. UNIX for Dummies Questions & Answers

trouble with awk

I am trying to figure awk. I have a file in my home directory called testawk.sh, have made it executable, and have run it... But don't see any output. This is the contents of the file: #!/usr/bin/awk -f { print " - HI -" }I enter ./testawk.sh in the prompt, press enter, and watch as the... (2 Replies)
Discussion started by: matthewden
2 Replies

5. Shell Programming and Scripting

Trouble getting the next to last record with awk

Hello all, I'm a beginner to shell/ awk script writing, and I'm trying to do something that looks like it shouldn't be (too) hard at all to do, but unfortunately, I can't seem to be able to find the right way to do it with awk. I need to look for the time several processes start & end in a... (5 Replies)
Discussion started by: Muadib
5 Replies

6. Shell Programming and Scripting

Trouble with Awk

Hi all, I'm writing a program in bourne shell that compresses a file 3 different ways then displays a table of data with the compression type, original file size, compressed size and compression ratio. I've written most of it but reached 2 problems that won't allow me to finish it correctly. The... (2 Replies)
Discussion started by: javajynx
2 Replies

7. Shell Programming and Scripting

having trouble with using if clause in AWK

The goal: I have a list of people in teams. The list looks something like this $1 = Job Position (marketing, IT, PR) $2 = Name $3 = Team Name $4 = Targeted member (somebody in field 2 targets somebody else) $5 = Employment Status (full time/part time/etc) The idea is to search through... (2 Replies)
Discussion started by: MaestroRage
2 Replies

8. Shell Programming and Scripting

Trouble with awk

This is probably a fairly simple question but I cant seem to get it to work. Im trying to multiply an entire column in a file by a variable in my bash script but just cant seem to get it to work with awk. Here is what I'm trying $varr is some value $line is my file awk '{print... (1 Reply)
Discussion started by: RichieFondel
1 Replies

9. AIX

Trouble formatting egrep command with AWK

Hi, I'm new to scripting and AIX. I'm running the following: lspv | awk '{ print "lspv",$1" | egrep 'PP\|PHYSICAL'; lspv -l",$1 }' Which creates this command: lspv hdisk0 | egrep PP|PHYSICAL; lspv -l hdisk0 lspv hdisk1 | egrep PP|PHYSICAL; lspv -l hdisk1 Troube is, I need the... (2 Replies)
Discussion started by: cruiser
2 Replies

10. Shell Programming and Scripting

trouble using mailx command

Hi. I have been trying to send mail using the mailx command. I also tryed to use the mail command. The thing is that when I try to send the email, i receive automatically to my mailbox a DAEMON response sayng that the mailhost is unknown... The syntax I am using is this: $mailx -s "this... (2 Replies)
Discussion started by: ldrojasm
2 Replies

Featured Tech Videos