Sponsored Content
Operating Systems AIX really stuck- need to get a variable within a variable- AWK Post 302211081 by vgersh99 on Wednesday 2nd of July 2008 03:19:04 PM
Old 07-02-2008
My examples is. well...... just an example -given a sample file you provided - how to convert it to what (I think) is needed.

Not having a complete data set nor a complete awk script - it's hard to say how to adjust a sample code above to your particular circumstance. You probably know all the details of what your awk script is doing the best - so you'll have massage the given code sample.

But...
Code:
BEGIN {
   FS=OFS="="
}
# the rest of the script


function evalVars(   i)
{
   val[$1]=$2
   i=$2
   while (1) {
      if (i in val)
        i=val[i]
      else
        break
    }
    $2=i
}

# some more of the script
#......

# some action here
{ 
   # resolve the vals
   evalVars()
  # do more stuff with the "resolved" data
  print
}

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Insert a line including Variable & Carriage Return / sed command as Variable

I want to instert Category:XXXXX into the 2. line something like this should work, but I have somewhere the wrong sytanx. something with the linebreak goes wrong: sed "2i\\${n}Category:$cat\n" Sample: Titel Blahh Blahh abllk sdhsd sjdhf Blahh Blah Blahh Blahh Should look like... (2 Replies)
Discussion started by: lowmaster
2 Replies

2. Shell Programming and Scripting

How to define a variable with variable definition is stored in a variable?

Hi all, I have a variable say var1 (output from somewhere, which I can't change)which store something like this: echo $var1 name=fred age=25 address="123 abc" password=pass1234 how can I make the variable $name, $age, $address and $password contain the info? I mean do this in a... (1 Reply)
Discussion started by: freddy1228
1 Replies

3. Shell Programming and Scripting

assign awk's variable to shell script's variable?

Dear All, we have a command output which looks like : Total 200 queues in 30000 Kbytes and we're going to get "200" and "30000" for further process. currently, i'm using : numA=echo $OUTPUT | awk '{print $2}' numB=echo $OUTPUT | awk '{print $5}' my question is : can I use just one... (4 Replies)
Discussion started by: tiger2000
4 Replies

4. Shell Programming and Scripting

using awk for setting variable but change the output of this variable within awk

Hi all, Hope someone can help me out here. I have this BASH script (see below) My problem lies with the variable path. The output of the command find will give me several fields. The 9th field is the path. I want to captured that and the I want to filter this to a specific level. The... (6 Replies)
Discussion started by: Cowardly
6 Replies

5. Red Hat

How to pass value of pwd as variable in SED to replace variable in a script file

Hi all, Hereby wish to have your advise for below: Main concept is I intend to get current directory of my script file. This script file will be copied to /etc/init.d. A string in this copy will be replaced with current directory value. Below is original script file: ... (6 Replies)
Discussion started by: cielle
6 Replies

6. Shell Programming and Scripting

[Solved] How to increment and add variable length numbers to a variable in a loop?

Hi All, I have a file which has hundred of records with fixed number of fields. In each record there is set of 8 characters which represent the duration of that activity. I want to sum up the duration present in all the records for a report. The problem is the duration changes per record so I... (5 Replies)
Discussion started by: danish0909
5 Replies

7. Shell Programming and Scripting

awk print variable then fields in variable

i have this variable: varT="1--2--3--5" i want to use awk to print field 3 from this variable. i dont want to do the "echo $varT". but here's my awk code: awk -v valA="$varT" "BEGIN {print valA}" this prints the entire line. i feel like i'm so close to getting what i want. i... (4 Replies)
Discussion started by: SkySmart
4 Replies

8. Shell Programming and Scripting

awk variable search and line count between variable-search pattern

Input: |Running the Rsync|Sun Oct 16 22:48:01 BST 2016 |End of the Rsync|Sun Oct 16 22:49:54 BST 2016 |Running the Rsync|Sun Oct 16 22:54:01 BST 2016 |End of the Rsync|Sun Oct 16 22:55:45 BST 2016 |Running the Rsync|Sun Oct 16 23:00:02 BST 2016 |End of the Rsync|Sun Oct 16 23:01:44 BST 2016... (4 Replies)
Discussion started by: busyboy
4 Replies

9. UNIX for Beginners Questions & Answers

How can I assign awk's variable to shell script's variable?

I have the following script, and I want to assign the output ($10 and $5) from awk to N and L: grdinfo data.grd | awk '{print $10,$5}'| read N L output from gridinfo data.grd is: data.grd 50 100 41 82 -2796 6944 0.016 0.016 3001 2461. where N and L is suppose to be 3001 and 100. I use... (8 Replies)
Discussion started by: geomarine
8 Replies

10. UNIX for Beginners Questions & Answers

Grepping for one variable while using awk to parse an associated variable

Im trying to search for a single variable in the first field and from that output use awk to extract out the lines that contain a value less than a value stored in another variable. Both the variables are associated with each other. Any guidance is appreciated. File that contains the... (6 Replies)
Discussion started by: ncwxpanther
6 Replies
RDSWAP(1)						      General Commands Manual							 RDSWAP(1)

["NAME"]
       rdswap - a multi-language RD documents support tool

["SYNOPSIS"]
       rdswap [ -h | -v ] filename ...

["DESCRIPTION"]
       This tool is written to support you to write multi-language documents using the Ruby-Document-Format (RD).

       The idea for such a tool was originated by Minero Aoki, how has thought about, how to make life easier for developers who have to write and
       maintain scripts in more than one language.

       You have to specify at least two filenames on the command line. One containing the Ruby script, the second containing a translated  RD.	If
       the  script  does  not  end  with `.rb', it has to be the first filename mentioned on the command line! In opposition, all files containing
       translations must not ending with `.rb'! They should use a extension that describes the language. So that would give us the following  pic-
       ture:

	      o sample.rb : Script contains the original documentation.

	      o sample.jp : Documentation written in Japanese.

	      o sample.de : Translation to German.

       The  tool doesn't care about the language extensions. You can name them as you like! So the file containing the Japanese translation above,
       could also be names e.g. `sample.japan' or even `japantranslation.japan'.

       For every translation file, a new file will be created. The name is build from the script filename plus the language extension. So  regard-
       ing the example above, following files would be created:

	      o sample.rb.jp

	      o sample.rb.de

       or, given the alternative translation filename as mentioned above...

	      o sample.rb.japan

   ["How does it work?"]
       The  contents  of all files will be split into source and RD blocks. The source of the translation files, will be discarded! Every RD block
       may be of a certain type. The type will be taken from the contents directly following the `=begin' on the same line. If	there  is  only  a
       lonely `=begin' on a line by itself, the type of the block is `nil'. That means in
	   # File sample.rd
	   :
	   =begin
	    bla bla
	   =end
	   :
	   =begin whatever or not
	    blub blub
	   =end
	   :

       the first block would be of type `nil' and the second one of type `whatever or not'.

       Block  types  are  important for the translation. If a source will be generated from a script and a translation file, only these blocks are
       taken from the translation files, that comes in the right sequence and contains the same type as the block in the script! For example:
	   # File sample.rb
	   :
	   =begin gnark
	    Some comment
	   =end
	   :
	   =begin
	    block 2
	   =end
	   :
	   =begin
	    block 3
	   =end
	   :

	   # File sample.de
	   :
	   =begin
	    Block zwei
	   =end
	   :
	   =begin
	    Block drei
	   =end
	   :

       Here, the first block of `sample.rb' will *not* be translated, as there is no translation block with that type in sample.de! So	the  first
       block  would  be  inserted as-it-is into the translated script. The blocks afterwards, however, are translated as the block type does match
       (it is `nil' there).

       Attention: In a translation file, a second block will only be used, if a first one was already used (matched). A third block will  only	be
       used, if a second one was used already!

       That  means,  if the first block of `sample.de' would be of type e.g. `Never match', then no block would ever be taken to replace anyone of
       `sample.rb'.

   ["OPTIONS"]
       ["-h"]
	      shows this help text.

       ["-v"]
	      shows some more text during processing.

       ["filename"]
	      means a file, that contains RD and/or Ruby code.

   ["EXAMPLES"]
	   rdswap -v sample.rb sample.ja sample.de
	   rdswap -v sample.ja sample.rb sample.de
	   rdswap -v sample.ja sample.de sample.rb
	   rdswap -v sample.??

   ["AUTHORS"]
       Clemens Hintze <c.hintze@gmx.net>.

								     June 2012								 RDSWAP(1)
All times are GMT -4. The time now is 01:33 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy