printf


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting printf
# 1  
Old 01-22-2008
printf

How to print output in following format?


A..................ok
AA................ok
AAA..............ok
AAAAAA........ok

"ok" one under one
# 2  
Old 01-22-2008
I could not find the exact way to do what i wanted as well.... I wanted anything on right justify to line up regardless of whatever is on the right justify. I also liked the look of the linux style rc scripts.
I beleve now the real answer is in the curses program.
I ended up writing my own function called spaces. It takes the word count from $1 and subtracts it from the stty column width. Regardless of terminal width, the right justify will line up.
Well that might be incorrect depending on what you have in $2.

Here is the code:
Code:
spaces () {
integer WIDTH=`stty|grep columns|awk '{print $6}'|awk -F";" '{print $1}'`
let TOTAL=$WIDTH-15
FIELD1=`echo $1 |wc -c`
FIELD2=`echo $2 |wc -c`
integer FIELD1_TOTAL=$FIELD1
let SUM=$TOTAL-$FIELD1_TOTAL
TAB=`echo ' '|sed -e :a -e "s/^.\{1,$SUM\}$/ &/;ta"`
echo "$1 $TAB $2"
}

You would call it in a script with:
spaces "something on the left" "something on the right"
spaces "aaaa aaa aaaa" ok

This is what it looks like: I also embed color into variable for "OK" so it shows in green.

Code:
OK="\033[1;32mOK"
FAILED="\033[1;31mFAILED"

Code:
CHECKING SVM MIRRORS:
d0 [ c1t0d0s0 ]                                                                                        OK
d10 [ c1t0d0s1 ]                                                                                       OK
d30 [ c1t0d0s3 ]                                                                                       OK
d40 [ c1t0d0s4 ]                                                                                       OK
d50 [ c1t0d0s5 ]                                                                                       OK
d60 [ c1t0d0s6 ]                                                                                       OK
PRIMARY MIRROR: c1t0d0                                                                                 OK
SVM SECONDARY MIRROR:                                                                                  FAILED

# 3  
Old 01-23-2008
Not sure whether I got ur problem correctly....have a look .

Code:
echo a|awk '{ for(i=1;i<=10;i++) {var=""; for (j=1;j<=i;j++) {var=var"A"} for(k=j;k<=10;k++){var=var"."; }print var"ok"; } }'

# 4  
Old 01-23-2008
[code]
echo a|awk '{ for(i=1;i<=10;i++) {var=""; for (j=1;j<=i;j++) {var=var"A"} for(k=j;k<=10;k++){var=var"."; }print var"ok"; } }'

[code]

Please tell me the meaning of "echo a" here
# 5  
Old 01-23-2008
Quote:
Originally Posted by dennis.jacob
Not sure whether I got ur problem correctly....have a look .

Code:
echo a|awk '{ for(i=1;i<=10;i++) {var=""; for (j=1;j<=i;j++) {var=var"A"} for(k=j;k<=10;k++){var=var"."; }print var"ok"; } }'


The "." not needed I just put it to show that "OK" must be in one column.

And "AAAAA" it's just an example of some string, for example:

Checking something.......... [OK]
Checking something other..[OK]
Login or Register to Ask a Question

Previous Thread | Next Thread

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. UNIX for Dummies Questions & Answers

Need help with printf

Hi, I have just completed my first script (:D) and now i just need to format it with printf. This is what I have: #!/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... (2 Replies)
Discussion started by: compan023
2 Replies

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

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
Login or Register to Ask a Question