我想要一個bash函數來計算顯示時將要顯示的字符串寬度。 ,因爲在我的情況下,字符串可能包含一些寬字符(例如中文)。所以我不能只使用一個字符串的長度。在bash腳本中,howto得到一個字符串的顯示寬度
function getDisplayWidth()
{
???
}
然後 「ABC」 將返回3 和 「前後」 應該返回4而不是2
我想要一個bash函數來計算顯示時將要顯示的字符串寬度。 ,因爲在我的情況下,字符串可能包含一些寬字符(例如中文)。所以我不能只使用一個字符串的長度。在bash腳本中,howto得到一個字符串的顯示寬度
function getDisplayWidth()
{
???
}
然後 「ABC」 將返回3 和 「前後」 應該返回4而不是2
如果您的wc
的實施具有-L
選項,那麼似乎計算正確的「事情」。 (Coreutils的有之,不知道是否有任何其他事情。)
例:
$ getw() { wc -L <<< "$1"; }
$ getw 前後
4
$ getw 前a後c
6
$ getw abc前後
7
$ getw "行書/行書"
11
'wc -L <<<「$ 1」' – 2012-03-26 06:54:28
@ IgnacioVazquez-Abrams:是的,謝謝。 – Mat 2012-03-26 06:59:38
@Mat:謝謝,這一行功能太棒了! – Nybble 2012-03-27 04:14:38