Add spaces to variable


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Add spaces to variable
# 1  
Old 10-27-2015
Add spaces to variable

Hi,
I'm passing a variable to a scrpit which can be 1 to 3 characters long.
How can I force it to be three character long and add spaces to it?

The passed variable is stored in
Code:
$1

and I would like to be stored in
Code:
NewName

I tried without success

Code:
NewName=$(printf "%*s 3 $1)


So if
Code:
$1="12"

Code:
NewName=" 12"

Thanks,
Sarah
# 2  
Old 10-27-2015
NewName has the value " 12". Print it within double quotes:
Code:
N=$(printf "%*s" 3 $1)
echo $N
12
echo "$N"
 12

Please note there's a double quote missing in your assignment...
This User Gave Thanks to RudiC For This Post:
# 3  
Old 10-27-2015
Quote:
Originally Posted by f_o_555
Hi,
I'm passing a variable to a scrpit which can be 1 to 3 characters long.
How can I force it to be three character long and add spaces to it?
You haven't told us which shell you are using. With bash i am not sure about the following being equally true (consult the man page about the "typeset" keyword), but in Korn shell (ksh) it is relatively straightforward:

Code:
typeset -R3 NewName="$1"

This will create a variable named "NewName" in the length of 3 characters and "right-justify" its content. If you pass only 1 character in "$1" this will yield "<b><b><char>", if you pass 2 it will result in "<b><char1><char2>".

Note that you can also have the value padded with zeroes instead of blanks. For instance:

Code:
typeset x="1"
typeset -RZ3 NewName="$x"

print - "$NewName"
001

Note also that this will always result in a 3-digit variable, even if (in the above example) "x" would be left empty. The content would be " " or "000" respectively then.

I hope this helps.

bakunin
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Want to add trailing spaces to the variable

I want to keep string/varible length to 10 even its actual length is less than 10(may be no value). so, i want to add trailing spaces to my string. :wall: "typeset -L10 myvarible" is not working, its saying invalid typset -L option. Can you please advise. (4 Replies)
Discussion started by: djaks111
4 Replies

2. Shell Programming and Scripting

Trimming spaces from a variable

Hi guys, when I take substring of a particular data using this command var=substr($0,11,10) it comes with spaces, when I am trying to trim the spaces it is not allowing me to do that. Can you please help me out on that. As I have to reverse the output of the variable also. ---------- Post... (0 Replies)
Discussion started by: manish8484
0 Replies

3. Shell Programming and Scripting

The last argument contains spaces, how do I get it into a variable?

Gooday I have an argument string that contains 15 arguments. The first 14 arguments are easy to handle because they are separated by spaces ARG14=`echo ${ARGSTRING} | awk '{print $14}'` The last argument is a text that may be empty or contain spaces. So any ideas on how I get the last... (23 Replies)
Discussion started by: zagga
23 Replies

4. Shell Programming and Scripting

Variable with several values and spaces.

Hello all. I am a newb obviously and a bit stumped on this, so any help gratefully accepted. The script is extracting metadata from individual mp3 files, then (hopefully will be) sorting them into newly-created subdirectories. I have filtered out the relevant metadata and have the album names... (8 Replies)
Discussion started by: spoovy
8 Replies

5. Shell Programming and Scripting

Spaces in a rsync variable

The following code doesn't work because of the space in "My Documents". Is there a way to set the "sources" variable and then use it in rsync? I tried escape space (\ ) and quotes, but nothing worked. #!/bin/sh sources="'/home/wolf' '/media/sda1/Documents and Settings/Administrator/My... (5 Replies)
Discussion started by: wolfv
5 Replies

6. Shell Programming and Scripting

Triming spaces for any variable

Hi, I want to trim the spaces on left side of the variable value. For eg: if it is 4 spaces followed by value, All the spaces on the left should be supressed. Easy but want it quickly. Regards, Shiv@jad (6 Replies)
Discussion started by: Shiv@jad
6 Replies

7. Shell Programming and Scripting

adding spaces for a variable value

Hi, i have to form the header and add fillers(spaces) to it. I have done something like this. i have added 10 spaces at the end HDR="AAAABBBBCCNN " echo $HDR >> file1.dat but the spaces are not being stored in the file. How to add the spaces. (2 Replies)
Discussion started by: dnat
2 Replies

8. Shell Programming and Scripting

appending spaces to a variable

Hi All, I have a requirement, in which i have to append some spaces to the variable, and then send it to another function. I am new to the UNIX shell programming. Ultimately the length of the string should be 40 characters. exp: Login = "rallapalli" (length = 10) i have to append 30 spaces to... (2 Replies)
Discussion started by: rallapalli
2 Replies

9. Shell Programming and Scripting

Variable containing spaces

Hi, my var is: PATH_LOG=/opt/WebSphere/CR Comune Roma.log a filename which contains blank chars. How can I call it from prompt ? Ex: ls $PATH_LOG or cat $PATH_LOG tks, Carmen- (2 Replies)
Discussion started by: Carmen123
2 Replies

10. Shell Programming and Scripting

Strip leading and trailing spaces only in a shell variable with embedded spaces

I am trying to strip all leading and trailing spaces of a shell variable using either awk or sed or any other utility, however unscuccessful and need your help. echo $SH_VAR | command_line Syntax. The SH_VAR contains embedded spaces which needs to be preserved. I need only for the leading and... (6 Replies)
Discussion started by: jerardfjay
6 Replies
Login or Register to Ask a Question