Assign value to variable


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Assign value to variable
# 1  
Assign value to variable

Hi Guys,

I need to assign the value of which has rows to a variable, Can you advise how to do that

Code:
hive --orcfiledump /hdfs_path/ | grep  "Rows"
Rows: 131554

I need to assign this row count itself to a unix variable
Code:
count=$(hive --orcfiledump /hdfs_path/ | grep  "Rows")

Expected
count=131554

Even if i find multiple values like Rows:131554 Rows:131554 , I need to assign only one value to count varaible
# 2  
Are those multiple values identical, i.e. always e.g. Rows:131554? If not, which one to select? If identical, and your shell (which alas you fail to mention) is (a recent) bash, try
Code:
read X count X < <(hive --orcfiledump /hdfs_path/ | grep -i rows | sort -u)

# 3  
Those counts will be always identical, So will it work ?
# 4  
You tell me.
# 5  
With sed
Code:
count=$(hive --orcfiledump /hdfs_path/ | sed -n 's/Rows: //p')

# 6  
Quote:
Originally Posted by MadeInGermany
Code:
sed -n 's/Rows: //p'

If you want to make sure there is only one value printed (like a implicit |uniq) you need to quit after the first match:

Code:
sed -n '/^Rows:/ {;s/^Rows:[^0-9]*\([0-9][0-9]*\).*/\1/p;q;}'

This will print the first line starting with "Rows:" and leave sed after printing it. I have tried to improve the regexp so that (variable numbers of) blanks before and behind the number eventually get deleted too.

I hope this helps.

bakunin
This User Gave Thanks to bakunin For This Post:
# 7  
Oh dear, my last post missed the "multiple occurrences" requirement.
Another variant of the sed solution
Code:
count=$(hive --orcfiledump /hdfs_path/ | sed -n '/^ *Rows: */{;s///;s/ .*//;p;q;}')

With awk
Code:
count=$(hive --orcfiledump /hdfs_path/ | awk '$1=="Rows:"/{print $2; exit}')

A pure shell variant
Code:
while
  read X count Y &&
  [ "$X" != "Rows:" ]
do
  :
done < <(hive --orcfiledump /hdfs_path/)

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 #996
Difficulty: Medium
Major Unix vendors, including Sun Microsystems, HP, IBM, and SGI, have been selling virtualized hardware since before 1990.
True or False?

10 More Discussions You Might Find Interesting

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

2. UNIX for Beginners Questions & Answers

Need to pass variable in a command and assign value to a variable

Hello All, Hope you're doing well ! I am trying below command to be passed in a shell script, header_date_14 is a variable and $1 is the name of a file I intend to pass as a command line argument, however command line argument is not being accepted. header_date_14=$(m_dump... (8 Replies)
Discussion started by: ektubbe
8 Replies

3. Shell Programming and Scripting

assign date to a variable

hi, i've just started learning a bit of shell scripting and i wanted to know how to assign the value of the day of the month (i think the command for that is date +%d) to a variable say 'd' so that i can display 'st', 'nd', 'rd' and 'th' depending upon the value of that variable. i'd... (5 Replies)
Discussion started by: xXWiLdAcEXx
5 Replies

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

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

6. Shell Programming and Scripting

Assign this to a variable....

bash-3.00$ /usr/bin/netstat -an -f inet | awk -F' ' '{if ($1$4 == "tcp*.21")print $5}' *.* bash-3.00$ A=` /usr/bin/netstat -an -f inet | awk -F' ' '{if ($1$4 == "tcp*.21")print $5}'` bash-3.00$ echo $A db2_lastdone.bkp As you can see ,after running command i get *.* in return but the same... (5 Replies)
Discussion started by: ak835
5 Replies

7. Shell Programming and Scripting

Not able to assign a value to variable

Hi Experts, I am facing some problem while developing the script.My input config.csv file contains the three columns namely pathname,filename,filetype.Based on the file type i have to use ftp command that is if filetype=csv then do ftp. The input file is cat config.csv... (13 Replies)
Discussion started by: Amey Joshi
13 Replies

8. Shell Programming and Scripting

assign a value to a variable

I have a list of names in a file. i want to assign those names to a variable in such a manner eg: $cat file.txt pete lisa john var=pete-lisa-john how do i do this in shell scripting? (10 Replies)
Discussion started by: Shivdatta
10 Replies

9. Shell Programming and Scripting

assign a value to variable

I have to assign a result of a query to a vairable like this how can i do this Query = select count(*) from table x=`db2 ${Query}| sed -n '4p'` but this doesn't work, is there any other way to assign the result without redirecting the result to temp file. . Thanks Mark. (3 Replies)
Discussion started by: markjason
3 Replies

10. UNIX for Dummies Questions & Answers

assign to variable

why i can't use this command: echo $arg | cut -c 1,2 | read remainArg or echo $arg | cut -c 1,2 | read $remainArg so that the result will be assign to remainArg. Anyway to do this? :) (1 Reply)
Discussion started by: AkumaTay
1 Replies