我是shell脚本新手。我正在努力解决这个问题。
我做了以下事情:
tlswrk41> myvar=6042811103
tlswrk41> printf "%-25d" $myvar
6042811103 tlswrk41@illin2510!TLS:tlswrk41>
打印含义空格,但是当我将其存储在变量中时,空格被删除(在给定左侧垫代码的情况下会有效):
tlswrk41> myvar=6042811103
tlswrk41> myvar1=`printf "%-25d" $myvar`
tlswrk41> tlswrk41> echo "$myvar1"
6042811103
tlswrk41>
-----左键垫------------
tlswrk41> myvar=6042811103strong text
tlswrk41> myvar1=`printf "%25d" $myvar`
tlswrk41> echo "$myvar1"
6042811103
tlswrk41>
答案 0 :(得分:0)
您可以使用printf -v
:
myvar="6042811103"
printf -v myvar1 "%25d" "$myvar"
echo "[$myvar1]"
[ 6042811103]
OR:
printf -v myvar1 "%-25d" "$myvar"
echo "[$myvar1]"
[6042811103 ]
我使用[
和]
来显示前后空格。
编辑:如果printf -v
不受支持,请使用:
myvar1=$(printf "%-25d" "$myvar")
答案 1 :(得分:0)
最后我找到了最简单的方法:
排版。对于上述内容:typeset -L25 myvar="6042811103";
-L - >它会在变量的末尾添加空格 -R - >它会在变量的开头添加空格