Need help with printf


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Need help with printf
# 1  
Need help with printf

Hi,
I have just completed my first script (Smilie) and now i just need to format it with printf.
This is what I have:
Code:
#!/bin/ksh
TOTB=0
TOTF=0
TOTI=0
HOST=`hostname`
echo " FSYSTEM    BLKS     FREE    INUSE     MOUNTEDON"
df -m | grep -v ":"|grep -v Free|grep -v "/proc"| while read FSYSTEM BLKS FREE U
SED IUSED PERIUSED MOUNTEDON
#set -x
do
(( INUSE = $BLKS - $FREE ))
(( TOTB = $INUSE + $TOTB ))
(( TOTF = $BLKS - $INUSE ))
(( TOTI = $TOTB  - $FREE ))
echo $FSYSTEM $BLKS $FREE $INUSE $MOUNTEDON
done
echo Total Blocks  Total Free  Total In Use 
echo  $TOTB  $TOTF  $TOTI

And this is what I would like the return to look like:
Code:
 FSYSTEM         BLKS       FREE         INUSE         MOUNTEDON
/dev/hd4      1024.00        966.60       58             /
/dev/hd2      3392.00        288.55       3104          /usr
/dev/hd9var  2048.00        1976.46     72             /var
/dev/hd3      2048.00        1834.09     214           /tmp
/dev/hd1      1536.00        698.94       838          /home
/dev/hd10opt 1024.00      556.55       468          /opt
/dev/fslv00    30720.00     13025.69    17695       /aix52_save_s
/dev/fslv01    1024.00       1023.52     1              /var/adm/perf
/dev/nmon_lv 1600.00 1   584.19       16             /nmondata

Total Blocks         Total Free              Total In Use
22466                 1584                      20882

could somebody please help me figure out where, and what exactly to put in for the printf command. I have read through the man page on printf and am still unclear about what to do.

Thanks
# 2  
Try something like this:

Code:
printf "%-17s%-11s%-13s%-14s%s\n" $FSYSTEM $BLKS $FREE $INUSE $MOUNTEDON

instead of:

Code:
echo $FSYSTEM $BLKS $FREE $INUSE $MOUNTEDON


Last edited by Franklin52; 07-11-2009 at 09:58 AM.. Reason: adding \n
# 3  
Thank you very much. it worked perfect.
I added it in to the other lines also.

Thanks again
 

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

Test Your Knowledge in Computers #564
Difficulty: Medium
The negation operator is a null task operator not a unary operator.
True or False?

10 More Discussions You Might Find Interesting

1. Programming

printf quirk

Hi, Could anyone explain me the logic behind the following program's output? int main() { printf("%d\n", printf("%d %d", 2, 2) & printf("%d %d", 2, 2)); printf("%d\n", printf("%d %d\n", 2, 2) & printf("%d %d\n", 2, 2)); } Ans: 2 22 23 2 2 2 2 4 (2 Replies)
Discussion started by: royalibrahim
2 Replies

2. Shell Programming and Scripting

Printf statement

The printf statement pay_amount=$(printf "%013.3f" "$4") working perfectly at one path(xxx/home/rsh) and showing error (printf: 216.000: invalid number) at another path(/opt/xxxx/xxxx). what will be the reason? thanks in advance (4 Replies)
Discussion started by: reeta_shri
4 Replies

3. UNIX for Dummies Questions & Answers

Qsub and printf

Hello, I have some issue with qsub and the standard output : I launch a script that "echoes" the string "abc" and then executes a C program in which I print informations with the printf function ; the .o file contains "abc" but not the information displayed by printf. I also tried... (0 Replies)
Discussion started by: Shaderw
0 Replies

4. Shell Programming and Scripting

find + printf help

Hi, I have a scripting assignment for an intro to linux class and I'm really confused about how to do something seemingly simple. I am supposed to Print the name of each file in the /data/dir16/subdir1 directory in the following format: "My name is: bin" The desired output example looks like:... (1 Reply)
Discussion started by: danschmidt
1 Replies

5. Shell Programming and Scripting

awk with printf

Hi, I am using the following code to assign a count value to a variable. But I get nothing. Do you see anything wrong here. I am new to all this. $CTR=`remsh $m -l $MACHINES{$m} -n cat $output | grep -v sent | grep \"$input\" | sort -u | awk '{print $5}'`; Upto sort - u it's... (2 Replies)
Discussion started by: nurani
2 Replies

6. Shell Programming and Scripting

Printf problem

I am having a major problem with printf, The more I pad it, the less I see :( The problem is in the first function, report Am I ruining output somewhere? I wont print out the names propely, it cuts them off or deletes them completely :( #!/bin/bash report() { printf "%-10s" STUD# ... (2 Replies)
Discussion started by: L0ckz0r
2 Replies

7. Shell Programming and Scripting

printf in awk

Hi friends.. I am confused about awk printf option.. I have a comma separated file 88562848,21-JAN-08,2741079, -1188,-7433,TESTING 88558314,21-JAN-08,2741189, -1273,-7976,TESTING and there is a line in my script ( written by someone else) What is the use of command? I guess... (10 Replies)
Discussion started by: clx
10 Replies

8. Shell Programming and Scripting

printf

How to print output in following format? A..................ok AA................ok AAA..............ok AAAAAA........ok "ok" one under one (4 Replies)
Discussion started by: mirusnet
4 Replies

9. Programming

printf

What is the output of the following program considering an x86 based parameter passing sequence where stack grows towards lower memory addresses and that arguments are evaluated from right to left: int i=10; int f1() { static int i = 15; printf("f1:%d ", i); return i--; } main() {... (2 Replies)
Discussion started by: arunviswanath
2 Replies

10. Shell Programming and Scripting

printf question

can you take input from another command and do printf? such as awk '{print $2,$1}' | sort -k1,1 -k2,2 | printf "%-10s,%15s" this does not work.. but there must be a way.. please help me.. thank you. (3 Replies)
Discussion started by: hankooknara
3 Replies

Featured Tech Videos