Solaris8 = How to format this df -k | awk


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Solaris8 = How to format this df -k | awk
# 1  
Old 04-09-2015
Solaris8 = How to format this df -k | awk

Hi,

Unfortunately, we still have Solaris 8 to support and it does not support df -h so I am stucked with having to use df -k. UNIX shell is ksh.

Example of df -k run is below:

Code:
 
$ df -k /db/test01 | awk '{ print }'
 
Filesystem            kbytes    used   avail capacity  Mounted on
server01:/vol/vol15/test01 18874368 8100728 10773640    43%    /NAS/server01/vol15/test01

To get the output in GB. I did as below

Code:
 
 
$ df -k /db/test01 | awk '{printf "%-35s %-10s %-10s %-10s %10s %-s\n",$1,$2/1024/1024,$3/1024/1024,$4/1024/1024,$5,$6}'
 
Filesystem                          0          0          0            capacity Mounted
server01:/vol/vol15/test01          18         7.72546    10.2745           43% /NAS/server01/vol15/test01

What do I do to get an output to something like below?

Code:
 
Filesystem                          GBytes     used       avail        capacity Mounted
server01:/vol/vol15/test01          18         7.72546    10.2745           43% /NAS/server01/vol15/test01
 
- OR-
 
==============================      =========  =======    =========   ========= ===========================
Filesystem                          GBytes     used       avail        capacity Mounted
==============================      =========  =======    =========   ========= ===========================
server01:/vol/vol15/test01          18         7.72546    10.2745           43% /NAS/server01/vol15/test01

I am wanting to put this as an alias too so I did as below but it does not seem to work. Does that mean I have to put it in a function file then create the alias instead of doing a direct alias?

Code:
$: alias mydf="DF() { df -k ${1-/tmp} | awk '{ print }' }; DF $1"
$: alias | grep DF
mydf='DF() { df -k /tmp | awk '\''{ print }'\'' }; DF '
$: mydf
>

Any advice will be much appreciated. Thanks.

Last edited by newbie_01; 04-09-2015 at 03:25 AM.. Reason: Need to add more information
# 2  
Old 04-09-2015
There's umpteen ways to skin this cat. Try this
Code:
df -k | awk 'NR==1 {CNV=1024*1024;FMT="%-15s %-10s %-10s %-10s %10s %-s\n"; printf FMT, $1, $2, $3, $4, $5, $6; next} {printf FMT,$1,$2/CNV,$3/CNV,$4/CNV,$5,$6}'

---------- Post updated at 13:58 ---------- Previous update was at 13:57 ----------

If you want to supply parameters, it has to be a function definition. You don't need an alias to call a function.
This User Gave Thanks to RudiC For This Post:
# 3  
Old 04-09-2015
Quote:
Originally Posted by RudiC
There's umpteen ways to skin this cat. Try this
Code:
df -k | awk 'NR==1 {CNV=1024*1024;FMT="%-15s %-10s %-10s %-10s %10s %-s\n"; printf FMT, $1, $2, $3, $4, $5, $6; next} {printf FMT,$1,$2/CNV,$3/CNV,$4/CNV,$5,$6}'

---------- Post updated at 13:58 ---------- Previous update was at 13:57 ----------

If you want to supply parameters, it has to be a function definition. You don't need an alias to call a function.

Thanks RudiC. 'Cheated' a little bit and make it like below:

Code:
 
df -k /db/test01 | awk 'NR==1 {CNV=1024*1024;GBYTES="GBytes";FMT="%-15s %-10s %-10s %-10s %10s %-s\n"; printf FMT, $1, GBYTES, $3, $4, $5, $6; next} {printf FMT,$1,$2/CNV,$3/CNV,$4/CNV,$5,$6}'

BTW, as for using function, I think I should have say a subroutine instead maybe?

What I am trying to do is to emulate something I found in commandlinefu.com below which is finding big sized files.

Code:
 
alias bigfile='BIG() { cd ${2:-/u01/app/oracle} ; echo "`pwd` :: Finding files that are >= ${1-100}M ..." ; echo ; find . -size +${1:-100}M -ls; }; BIG $1 $2'

The bigfile alias works fine albeit ksh on RedHat Linux.

So I am wanting to do the simialr thing for the df -k | awk thing where I pass a first an argument but I am having problem passing a parameter / argument. Not sure if I've explained well what I am trying to achieve.

Thanks again for your reply.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Solaris

wxWidgets on Solaris8

hello, i am trying to compile wxWidgets on a Solaris8 box, but get this message: checking for XML_ParserCreate in -lexpat... yes checking for mspack.h... no checking for X... no configure: error: X11 not found, please use --x-includes and/or --x-libraries options (see config.log for... (0 Replies)
Discussion started by: Norman Khine
0 Replies

2. UNIX for Dummies Questions & Answers

.profile in solaris8

question: why is that when I created a user under solaris8, i got two lines before the login.. sample: login as: user1 user1@1.1.1.1's password: Last login: Fri Feb 25 17:00:52 2011 from 12.0.0.5 Sun Microsystems Inc. SunOS 5.8 Generic February 2000 Sun Microsystems Inc. SunOS... (0 Replies)
Discussion started by: lhareigh890
0 Replies

3. Shell Programming and Scripting

scripting/awk help : awk sum output is not comming in regular format. Pls advise.

Hi Experts, I am adding a column of numbers with awk , however not getting correct output: # awk '{sum+=$1} END {print sum}' datafile 2.15291e+06 How can I getthe output like : 2152910 Thank you.. # awk '{sum+=$1} END {print sum}' datafile 2.15079e+06 (3 Replies)
Discussion started by: rveri
3 Replies

4. Shell Programming and Scripting

AWK CSV to TXT format, TXT file not in a correct column format

HI guys, I have created a script to read 1 column in a csv file and then place it in text file. However, when i checked out the text file, it is not in a column format... Example: CSV file contains name,age aa,11 bb,22 cc,33 After using awk to get first column TXT file... (1 Reply)
Discussion started by: mdap
1 Replies

5. Solaris

Solaris8

What is the max file system that I can create. Is the max 2TB? I trying to connect a iscsi device and Solaris can only see 999 GB. Do I have to change sector size? (2 Replies)
Discussion started by: kmcguinn71
2 Replies

6. UNIX for Dummies Questions & Answers

about grep on solaris8

there is -r switch for grep in linux, but in solaris 8, I found it doesn't support it. But I really need this function to rescue my sub-directories, so anybody can help me?thanks!! (2 Replies)
Discussion started by: cooldown
2 Replies

7. UNIX for Dummies Questions & Answers

A problme about solaris8

Hello,I have a problme when log on Solaris 8 ,screen show"DT information system do not startup".what's this.how to do it? thankx. (3 Replies)
Discussion started by: Yeliu
3 Replies

8. UNIX for Dummies Questions & Answers

install locale on Solaris8

Hello all, I was wondering if anyone knows how to install additional language after the system had been installed in english. I know that you could do an upgrade with the language support. But is there a way in which one can install different language fonts? I was reading up on Solaris install... (2 Replies)
Discussion started by: larry
2 Replies

9. UNIX for Dummies Questions & Answers

downloaded solaris8

i have downloaded 3 zipped solaris ver 8 07/01 installation cd and i want to ask this question: 1. what will i do to burn it? do i need to extract the file and then burn it? what? Note: Those zipped files have only one file each and it has more than 100mb plus. (6 Replies)
Discussion started by: rodelu
6 Replies

10. UNIX for Dummies Questions & Answers

Solaris8(intel)

I have just recently installed solaris8 on my box, and got two minor problems: Based on the size of partitions i should have approx 10gigs of mem., but the system registeres 0 space available on my harddrive....That problem results in a slight inability to install any apps... The second problem is... (3 Replies)
Discussion started by: Diesel
3 Replies
Login or Register to Ask a Question