在Bash ......
我知道如何使用printf右键填充
printf "%-10s" "potato"
我知道如何使用printf截断
printf "%.10s" "potatos are my best friends"
我怎样才能同时做到这两件事?
LIST="aaa bbbbb ccc ddddd"
for ITEM in $LIST; do
printf "%-.4s blah" $ITEM
done
打印
aaa blah
bbbbb blah
ccc blah
ddddd blah
我希望它打印
aaa blah
bbbb blah
ccc blah
dddd blah
我宁愿不做这样的事情(除非别无选择):
LIST="aaa bbbbb ccc ddddd"
for ITEM in $LIST; do
printf "%-4s blah" $(printf "%.4s" "$ITEM")
done
但是,显然,这有效(感觉丑陋和黑客)。
答案 0 :(得分:7)
您可以使用printf "%-4.4s
获取输出格式:
for ITEM in $LIST; do printf "%-4.4s blah\n" "$ITEM"; done
aaa blah
bbbb blah
ccc blah
dddd blah