Sponsored Content
Top Forums Shell Programming and Scripting Using variable in awk command Post 302786195 by hanson44 on Wednesday 27th of March 2013 04:54:19 AM
Old 03-27-2013
As did the other (faster) poster, I tried reformatting the script to make it easier to read, and to make the logic work (as it seemed to me). You can correct if I mixed something up.
Code:
ITERATOR=1
COUNT=`tail -1 test.txt`
echo COUNT = $COUNT
while [ $ITERATOR -le $COUNT ]; do
  echo ITERATOR = $ITERATOR
  awk -v i=$ITERATOR 'NR == i {print; exit}' EMAIL_REPORT.CSV > temp_mail.txt
  # sed -n "$ITERATOR { p; q }" EMAIL_REPORT.CSV > temp_mail.txt
  TO=`cat temp_mail.txt`
  ITERATOR=`expr $ITERATOR + 1`
done

As the other poster stated, the problem is because the awk script is enclosed in 'single quotes'. So awk just sees the literal $ITERATOR. In other words, the shell variable is not expanded.

If your version of awk supports the -v option, I've suggested a nice alternative way to make it work. I couldn't get the other submitted script to work, but I'm probably messing it up. I hope at least one of them works for you! Smilie

Instead of using awk to print the one line, you could also use the simpler sed command I added.
This User Gave Thanks to hanson44 For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

passing variable values to awk command

Hi, I have a situation where I have to specify a different value to an awk command, I beleive i have the gist of this done, however I am not able to get this correct. Here is what I have so far echo $id 065859555 This value occurs in a "pipe" delimited file in postition 8. Hence I would... (1 Reply)
Discussion started by: jerardfjay
1 Replies

2. Shell Programming and Scripting

Execution of awk command in a variable

Hi All, I have a awk command that is stored in a variable. the value of the variable cmd is: (mean output of echo $cmd is: ) awk -F";" '{print $1}' Now I want to execute this command. How can I do that???? Quick Reply will be appreciated. Regards, Amit (2 Replies)
Discussion started by: patelamit009
2 Replies

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

4. Shell Programming and Scripting

Problem with Variable and AWK command

Okay, so I am trying to use a count variable to reference the column of output sent from an echo statement. So I am trying to do this #!/bin/bash CURRENT=$PWD VAR=3 CHANGE=`echo $CURRENT | awk -F "/" '{ print \$$VAR }'` This instead of giving me the third instance after the "/" gives... (4 Replies)
Discussion started by: mkjp2011
4 Replies

5. Shell Programming and Scripting

use shell variable in awk command

Trying to do something like this ls -lrt | awk '$9=="test5"' -rw-r--r-- 1 lrmq db2iadm1 381 Sep 20 21:56 test5 But now, I need to give a variable in place of test5. For example let's define x as test5 x=test5 ls -lrt | awk '$9=="$x"' This doesn't seem to be working. It doesn't take the... (4 Replies)
Discussion started by: blazer789
4 Replies

6. Shell Programming and Scripting

Variable as input to awk command

Hi Gurus, I need a suggestion, please help. I have a input file as below : abc.txt : * xxxx: 00000 xxxxx: 00000 xxxx: RANDOM xxx: RANDOM **************************xxxxxxx*** * abc ****************************** abc: abc: ... (3 Replies)
Discussion started by: arunshankar.c
3 Replies

7. Shell Programming and Scripting

Variable in AWK command help

here is what i have so far delim=`cat $HOME/tmp/interchange_hold | head -1 | cut -b4` cat $HOME/tmp/rawfile_hold | ( while read line se_check=`echo $line | awk -F: -v awkvar="$delim" '{ print $1}'` delim will hold the 4th char of a file. Lets say that char is a * the line im... (2 Replies)
Discussion started by: blesjt02
2 Replies

8. UNIX for Dummies Questions & Answers

Using a variable in the awk command

Hi Guys, Can anyone of you please tell me how to use a variable inside a awk command. For ex - if am printing the third column with respect to a pattern with delimiter ~ awk -F~ '$3=="pattern"' <file name> - This works, Now here I have a set of patterns in a file and I want to put it in... (1 Reply)
Discussion started by: abhisheksunkari
1 Replies

9. Shell Programming and Scripting

Storing awk command in a variable

I'm working on a script in which gives certain details in its output depending on user-specified options. So, what I'd like to do is something like: if then awkcmd='some_awk_command' else awkcmd='some_other_awk_command' fi Then, later in the script, we'd do something like: ... (5 Replies)
Discussion started by: treesloth
5 Replies

10. Shell Programming and Scripting

Variable in awk command

Hello All, I am trying to run a script to extract data from the file. The format of the file is as below: filename: sample.log 12345| ABCD 23456| GKHY 33454| ABCD 98765| TTRRI want to run a command in AWK as show below extract.sh #!/bin/bash echo... (2 Replies)
Discussion started by: chetanojha
2 Replies
TAP::Parser::Iterator::Process(3pm)			 Perl Programmers Reference Guide		       TAP::Parser::Iterator::Process(3pm)

NAME
TAP::Parser::Iterator::Process - Iterator for process-based TAP sources VERSION
Version 3.23 SYNOPSIS
use TAP::Parser::Iterator::Process; my %args = ( command => ['python', 'setup.py', 'test'], merge => 1, setup => sub { ... }, teardown => sub { ... }, ); my $it = TAP::Parser::Iterator::Process->new(\%args); my $line = $it->next; DESCRIPTION
This is a simple iterator wrapper for executing external processes, used by TAP::Parser. Unless you're writing a plugin or subclassing, you probably won't need to use this module directly. METHODS
Class Methods "new" Create an iterator. Expects one argument containing a hashref of the form: command => @command_to_execute merge => $attempt_merge_stderr_and_stdout? setup => $callback_to_setup_command teardown => $callback_to_teardown_command Tries to uses IPC::Open3 & IO::Select to communicate with the spawned process if they are available. Falls back onto "open()". Instance Methods "next" Iterate through the process output, of course. "next_raw" Iterate raw input without applying any fixes for quirky input syntax. "wait" Get the wait status for this iterator's process. "exit" Get the exit status for this iterator's process. "handle_unicode" Upgrade the input stream to handle UTF8. "get_select_handles" Return a list of filehandles that may be used upstream in a select() call to signal that this Iterator is ready. Iterators that are not handle based should return an empty list. ATTRIBUTION
Originally ripped off from Test::Harness. SEE ALSO
TAP::Object, TAP::Parser, TAP::Parser::Iterator, perl v5.16.2 2012-10-25 TAP::Parser::Iterator::Process(3pm)
All times are GMT -4. The time now is 07:29 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy