convert to GB

Thread Tools Search this Thread
Top Forums Shell Programming and Scripting convert to GB
# 1  
Old 03-03-2008
convert to GB


my objective is to calculate the swap size

-bash-3.00# swap -l
swapfile dev swaplo blocks free
/dev/md/dsk/d1 85,1 8 33559776 16966160

so size=blocks*512/(1024*1024*1024)
since blocks are 512-blocks

any idea how to get it?
so far I was able to get the 4th value:

swap -l |grep -v blocks| awk '{print $4}'

how to get the size in GB?
# 2  
Old 03-03-2008
actually I want also to get the 4th column of the 2nd line in the file:

more /opt/SUNWexplo/output/explorer.zeus/disks/swap-l.out
swapfile dev swaplo blocks free
/dev/md/dsk/d1 85,1 8 33559776 16966152

I want 33559776

how to get it?
how to convert it to GB? (*512/(1024)^3

# 3  
Old 03-03-2008
Let awk do the job for you:

awk 'NR==2{print $4*512/(1024*1024*1024)}' /opt/SUNWexplo/output/explorer.zeus/disks/swap-l.out

# 4  
Old 03-03-2008
thanks indeed

1] how to concact GB to the result?

2] how to have an output such as:

Swap Space: xxxxxx GB

3] Any way to round this number? 16.0025 to 16?

# 5  
Old 03-03-2008
hello again

let me start with this:
echo "Swap Space in GB:"
awk 'NR==2{print $4*512/(1024*1024*1024)}' /opt/SUNWexplo/output/explorer.zeus/disks/swap-l.out

Swap Space in GB:

I want to get
Swap Space in GB: 16.0025

i.e concatenate the 2 outputs in one line.

how to do that?

many thanks
# 6  
Old 03-03-2008
It is ok:

v_swap1="Swap Space in GB:"
v_swap2=`awk 'NR==2{print $4*512/(1024*1024*1024)}' /opt/SUNWexplo/output/explorer.zeus/disks/swap-l.out`
echo $v_swap1 $v_swap2

any idea how to round 16.0025 to 16??
# 7  
Old 03-03-2008
If the printf statement rounding is "unbiased" (system dependent) which means it doesn't round a trailing 0.5 up you can just add 0.5 to the result:

awk '{printf("Swap Space: %d\n", $4*512/(1024*1024*1024)+0.5)}' file

To verify weather printf is rounding biased or not you can try this:

awk 'BEGIN{printf("%d\n", 15.9)}'


Last edited by Franklin52; 03-03-2008 at 02:20 PM.. Reason: linguistic correction
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers


my file or content of the file looks like this: HR-BUSPARTNET SC-POINQUIRY BATCH FIN-CHOPDATARESTRICT HR-DATABASEACCESSNOEXEC GL-EXTINQ RSS SC-APPROVER ESS all said and done, i'd like to have it look like this: ... (6 Replies)
Discussion started by: lawsongeek
6 Replies

2. Linux

Convert .sh to .bat please

Can someone translate this code to .bat for me? I have no clue. #!/bin/sh WAS_HOME="/opt/websphere/appserver/profiles/AppSrv01" WAS_APP_SERVER="server1" WAS_PROFILE_NAME="AppSrv01" echo "Stopping App Server" "${WAS_HOME}/bin/" -profileName $WAS_PROFILE_NAME $WAS_APP_SERVER... (1 Reply)
Discussion started by: Blogger11
1 Replies

3. Shell Programming and Scripting

Convert / to \

Hi, In my input variable values are c:/test/sample/ I need to convert it to c:\test\sample I need to find and replace it How do I do it? var_conversion=`"$var_SearchFile" | sed 's/'\'/'/'/g'` echo ${var_conversion%/*} My code throws error (4 Replies)
Discussion started by: magesh_bala
4 Replies

4. Shell Programming and Scripting

Convert date

If I pass the value in the form YYYY/MM/DD(20100719) how to convert in the form 19\/Jul\/2010 (1 Reply)
Discussion started by: sandy1028
1 Replies

5. Shell Programming and Scripting

Convert e+ to number

Hi, I am using awk to get particular dates in seconds and the output am getting is like 1.28071e+09. How can I convert it to number format. Can anyone help me out? Thanks in advance..! (7 Replies)
Discussion started by: Kattoor
7 Replies

6. Shell Programming and Scripting

help to convert

how to convert this perl expression to Python while (<FIL>) { s/+/ /g; if (/<DOC\s+doc_ID=\"(.*?)\".*sys_ID=\"(.*?)\"/i) { #" ${$$hashptr{$sys_Id}}{$doc_Id} = $docstr; # push(@$doclistptr, $doc_Id); $doc_Id = $1; $sys_Id = $2; $docstr = ""; ... (1 Reply)
Discussion started by: jaganadh
1 Replies

7. Programming

convert without using strtol

Hi I need help with some function. I have to fetch data from stdin without using of scanf() (I have to use getc or getchar) and then each sign I want to convert to another sign - here I can't use function strtol :( . In the end i want to print this string to stdout without using of function printf... (3 Replies)
Discussion started by: BMW750LIuser
3 Replies

8. Shell Programming and Scripting

here-doc convert 2 script convert to single script?

I have my main script calling another script to retrive a "ls -alt" of a directory that's located in a remote location I'm sftping into. #!/bin/ksh > output.txt #!/bin/sh /home<..>/sftp <host@ip> <<! cd /some/dir/Log ls -alt quit ! Basically I'd like to be... (2 Replies)
Discussion started by: yongho
2 Replies

9. Shell Programming and Scripting

Convert database

We use the MS access database, I want to convert the database to mysql db , could suggest is there any tools / methods that I can export the table and data from access , and import it to the new mysql db ? thx in advance. (3 Replies)
Discussion started by: ust
3 Replies

10. UNIX for Dummies Questions & Answers

To convert

Hi, I have a source file with 'Aug 1 2004' kind format. I need to search the records with certain period, like from Aug 1 2004 to Sep 20 2004. Can someone give me some ideas what I should start with? ThanX !! (1 Reply)
Discussion started by: whatisthis
1 Replies
Login or Register to Ask a Question