在linux中格式化bash - printf align middle

and*_*rej 5 bash printf

这行代码:

printf 'ddd %-22s dddd \n' "eeeeeee"
Run Code Online (Sandbox Code Playgroud)

与左对齐.

我可以用它来将它与中心对齐如下:

ddd      eeeeeee      dddd
Run Code Online (Sandbox Code Playgroud)

小智 3

有点棘手……但这又如何呢?;)

STR="eeeeeee"; printf 'ddd %11s%-11s dddd \n' `echo $STR | cut -c 1-$((${#STR}/2))` `echo $STR | cut -c $((${#STR}/2+1))-${#STR}`
Run Code Online (Sandbox Code Playgroud)