私は表示するときにcomsumedされる文字列幅をカウントするbash関数が必要です。私の場合、Stringにはいくつかのワイド文字(たとえば中国語)が含まれている可能性があるので、 だから私は文字列の長さだけを使うことはできません。bashスクリプトでは、文字列の表示幅を取得する
function getDisplayWidth()
{
???
}
その後 "ABC" は3 を返すと "前后" wc -m
を試してみてください代わりに2
私は表示するときにcomsumedされる文字列幅をカウントするbash関数が必要です。私の場合、Stringにはいくつかのワイド文字(たとえば中国語)が含まれている可能性があるので、 だから私は文字列の長さだけを使うことはできません。bashスクリプトでは、文字列の表示幅を取得する
function getDisplayWidth()
{
???
}
その後 "ABC" は3 を返すと "前后" wc -m
を試してみてください代わりに2
wc
の実装に-L
オプションがある場合、それは正しい「もの」をカウントするように見えます。 (のCoreutilsは、他にやるかどうかわからない、それを持っている。)
例:
$ getw() { wc -L <<< "$1"; }
$ getw 前后
4
$ getw 前a后c
6
$ getw abc前后
7
$ getw "行书/行書"
11
'wc -L <<<" $ 1 "' –
@ IgnacioVazquez-Abrams:はい、ありがとう。 – Mat
@Mat:ありがとう、一行の機能は素晴らしいです! – Nybble