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


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers How can I assign awk's variable to shell script's variable?
# 1  
Question 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:
Code:
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 bash shell.

How can I achieve this? Thanks.
# 2  
Welcome to the forum.


Depending on your bash version, there are different options:
- shopt -s lastpipe; set +m

- read N L <<< $(grdinfo data.grd | awk '{print $10,$5}')


- read N L <<EOF
$(grdinfo data.grd | awk '{print $10,$5}')
EOF


or simply read X X X X L X X X X N <<< $(grdinfo data.grd)

Last edited by RudiC; 05-23-2018 at 02:12 PM..
This User Gave Thanks to RudiC For This Post:
# 3  
Code:
eval $(grdinfo data.grd | awk '{printf("N=%s%sL=%s\n", $10,OFS,$5)}')
echo "N->[${N}] L->[${L}]"


Last edited by vgersh99; 05-23-2018 at 03:11 PM.. Reason: ooops
These 2 Users Gave Thanks to vgersh99 For This Post:
# 4  
Thanks vgersh99 and RudiC. My bash version is: GNU bash, version 4.3.46(7)-release (x86_64-unknown-cygwin)
# 5  
@vgersh99: although I really love this creative approach, I'm afraid there's a leading $ sign missing in the "command substitution"?
These 2 Users Gave Thanks to RudiC For This Post:
# 6  
Thanks. I don't know were '$' is missing. can you please point that out? I also found out that '<<<' represent 'here'.
Code:
read N L <<< $(grdinfo data.grd | awk '{print $10,$5}')

what is the implication of "<<<" and how can I test the output from this command line? I tried:
Code:
read N L <<< $(grdinfo data.grd | awk '{print $10,$5}')
echo N L


Last edited by Corona688; 05-23-2018 at 02:55 PM..
# 7  
Use code tags for code please.

Try
Code:
read N L <<< $(grdinfo data.grd | awk '{print $10,$5}')
echo $N $L

This User Gave Thanks to Corona688 For This Post:
Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #923
Difficulty: Medium
Unix has a tradition of directly representing non-integer Unix time numbers as binary fractions.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to assign awk values to shell variable?

Hi Gurus, I have a script which assign awk output to shell variable. current it uses two awk command to assign value to two variables. I want to use one command to assign two values to two variables. I tried the code, but it does't work. kindly provide your suggestion. current code... (2 Replies)
Discussion started by: green_k
2 Replies

2. Shell Programming and Scripting

Assign a variable with awk

I launch 'netstat -a', if string 'ESTABLISHED' found, then VAR=1 #!/bin/bash VAR=0; netstat -a | awk '$6 ~ /ESTABLISHED/ {VAR=1}' I cannot find the right syntax. thanx guys! (3 Replies)
Discussion started by: arpagon
3 Replies

3. Shell Programming and Scripting

How to read a two files, line by line in UNIX script and how to assign shell variable to awk ..?

Input are file and file1 file contains store.bal product.bal category.bal admin.bal file1 contains flip.store.bal ::FFFF:BADC:CD28,::FFFF:558E:11C5,6,8,2,1,::FFFF:81C8:CA8B,::FFFF:BADC:CD28,1,0,0,0,::FFFF:81C8:11C5,2,1,0,0,::FFFF:81DC:3111,1,0,1,0 store.bal.... (2 Replies)
Discussion started by: veeruasu
2 Replies

4. UNIX for Dummies Questions & Answers

using awk iteratively in a script to assign variable values

I have a log file that has certain fields that I want to evaluate, and depending on the value in those fields, I want to put the value of a different field in that line in a particular variable that I'll use later on down the log file. Sort of like setting a switch to change what I do with a bunch... (5 Replies)
Discussion started by: pts2
5 Replies

5. Shell Programming and Scripting

Shell assign variable to another variable

How can I assign a variable to an variable. IE $car=honda One way I can do it is export $car=honda or let $car=2323 Is there any other ways to preform this task (3 Replies)
Discussion started by: 3junior
3 Replies

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

7. Shell Programming and Scripting

How to assign the result of a SQL command to more than one variable in shell script.

Hi Friends... Please assist me to assign the result of a SQL query that results two column, to two variables. Pls find the below code that I write for assigning one column to one variable. and please correct if anything wrong.. #! /bin/sh no=' sqlplus -s uname/password@DBname... (4 Replies)
Discussion started by: little_wonder
4 Replies

8. Shell Programming and Scripting

Assign o/p of awk to a variable

:confused: Hi UNIX gurus, I am facing a typical problem while assigining while assigining output of awk to a variable. I have a fixed length file say myinputfile.txt When I allow the value/output of an awk to be redirected to a file, it works fine. i.e. awk "/^.{232}$acctNum/ {... (8 Replies)
Discussion started by: c2b2
8 Replies

9. Shell Programming and Scripting

assign value to variable using AWK

Dear Friends I have text file as like below, AAAAA|BHBHBH|VERYSMART AAAAA| KKKKKK|GOOD BBBBBB|JJJJJJJ|VERYGOOD CCCCC|HJHJHJ|BETTER CCCCC|UUUUU|GOOD i need to split into seperate files based on column 1 like as below AAAAA.TXT contains -------------------- BHBHBH.VERYSMART... (4 Replies)
Discussion started by: HAA
4 Replies

10. Shell Programming and Scripting

how to assign sql output data to shell script variable

Hi Guys ! I am new to unix and want to find out how we can make sql statement data to shell script variable? Any help/suggestion is greatly appreciated -Chandra (1 Reply)
Discussion started by: kattics
1 Replies

Featured Tech Videos