如何printf像表格一樣對齊我的輸出?
Title Author
BaokyBook Baoky2
Use basename commandUse basename command .. Baoky
我的部分代碼是這樣的
titlelength=${#title};
首先我獲得標題長度,然后我就像這樣打印
titlespace=`expr 60 - titlelength`;
printf "%s %${titlespace}s\n" "$title" "$author"
但是對齊是不對的,我如何使其良好對齊
在回答以下答案:
在做出改變之后
我所有的左邊都對齊了.它似乎不起作用.
解決方法:
最簡單的方法是在固定寬度上打印標題:
printf "%30s %s\n" "$title" "$author"
如果要確定最大寬度,則需要在執行任何輸出之前讀取所有數據.或者你可以簡單地將輸出傳遞給列-t.或者,將標題截斷為所選寬度(這種截斷字符串的技術是一種基礎):
printf "%30s %s\n" "${title:0:30}" "$author"
標簽:shell,linux,sh
來源: https://codeday.me/bug/20190626/1289463.html