A big hello to everyone tagged to this site of knowledge . This is the first post of mine and I am looking forward to an enjoyable stint in this forum where I get to know a lot of new ideas and share whatever knowledge (its not much though ) I have acquired throughout my career so far with y'all.
To start of , I am , in a sort of stuck in a strange situation. The requirement is to format a string to a precision , which is will be dynamic .
Lets say the string's 976461 , and we have to format it to a precision of 10 , and LEFT PAD it with zero's. So the output would be 0000976461 .
What I did is to store the precision in a Shell variable (say a ) using the following code :
and the string in another Shell variable b using :
and use the printf command to format the string to the precision stored in variable a , and finally write the output to variable c using
Now , when I echo the value of c, it showing 000976,461.
Can anyone help me with this ?
Thanks
Kumarjit.
Last edited by Scrutinizer; 02-04-2013 at 05:02 AM..
Reason: code tags
Thanks a ton to you both ( neutronscott and Scrutinizer ), you guys got crazy skills .....
BTW, I am using Korn Shell.
To be very honest , I havent been into Shell scripting for a long period of time, but am keen to know how each of yours codes work .
@neutronscott----firstly what does ${a} in the expression "%0${a}d" stand for , and how different is it from using a blatant "%0$ad" or something like "%0'$a'd" What I meant to ask is the significance of the {} while invoking a shell variable ?
@Scrutinizer---- I have to admit I dont even have any questions to ask BECAUSE I COULDNT MAKE THE HEADS OR TAILS OF WHAT YOU WROTE, but it works magic . Could you please explain what your code does and the significance of "*" in the printf command ?
I am running plsql using printf on a shell, but i am getting some strange error, can someone point what exactly am i missing,
$ echo $SHELL
/bin/bash
$ printf "
> SET serveroutput ON trimspool on feed off echo off
> declare
> p_val number;
> d_val varchar2(10);
> begin
> SELECT... (1 Reply)
My requirement is need to add spaces to the string with the dynamic value to printf... this is a part of shell script ..which i have , the length is not static ...
length=15
value="1234567890"
printf "%-"$length"s\n" "$value";
The result it is printing is ... i am not sure y it is... (19 Replies)
Hi all I am using printf in my shell script to format my output.I am using the following code.
printf "|\tIP Address\t|\tModel Number\t|\tDOM/HW\t|\tSoftware Version\t|\n"
printf "|\t%s\t|\t%s\t\t|\t%s\t|\t%s-%s\t\n" $encoder $modelno $type $sv1 $sv2
printf "|\tFPGA... (2 Replies)
hello,
I'm trying to display Unix variable using printf command.
Code:
awk '{ if ( $0 ~ /string/ ) {
printf( "%s\n%s\n",$0,"dsd"); #this one works
printf( "%s\n%s\n",$0,$HOME); #this does not work
} else {
print $0;
}
}' param1_1.txt
I could use here echo command but I'm... (2 Replies)
Hi,
I a sequance number from 1-999 and i want asing the value like 001,002..999
Exp:
file_001
file_002
file_003...
file_999
How can i disaplay the sequnace number as mention above. (3 Replies)
I need to run a shell script with dynamic command in it like
# Begin script...
mysql xx "select * from tab" | sed 's/\t/|/g' > GENERATED_20100304.txt
the dynamic part is 20100304 which should be today's date, and it needs to run every day and create a new file with... (2 Replies)
Hi,
I am new to shell script. This is my first post .I have written a small script which returns list of names starts with "ram" in /etc/passwd .Here is that:-
#!/bin/ksh
NAME_LIST="name_list.txt"
cat /dev/null > $NAME_LIST
evalcmd="cat /etc/passwd | grep "^ram?*" | cut -d: -f1"
eval... (3 Replies)
hello, Im at another part of the program i am writing. Where i think i'm going to need to use the printf command.
If anyone can help me figure out the printf layout i would greatly appreicate it.
thanks (4 Replies)
Hi
How could I use the command printf to display a big file.
So ex. I've a script with some variables like:
V1=358504 V2=FD0147 V3=dev5 V4=94577 V5=0 V6=UNIX V7=Policy V8=server V9=04/15/05 V10=19:18:41 V11=2341321467
while read V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11
do
printf "\n%s %s %s... (1 Reply)
I want to make a logfile with error messages, like this:
(collumms: CUSTNR DATE TIME ERROR MESSAGE)
102 20020807 135417 1 Uptime server is more than 6 months
5 20020808 111335 3 Backup not Ok!
2001 20020808 120428 6 Free space at server1 is less than 20%
etcetera
I... (2 Replies)