分割を使用して中国語のUnicodeバイトを文字ブロックに分割できますか?

分割を使用して中国語のUnicodeバイトを文字ブロックに分割できますか?

私はしばらく中国語のUnicodeテキストを扱ってきました。もちろん、一般的なルールが適用されます。grep単語だけでなく、文字で作業することもできます。これは私にとって非常に便利です。

ところで、私がまだ把握していないことが一つあります。これが可能かどうかわかりません。

中国、日本、韓国がどのような分裂も受け入れないことは当然です。しかし、もちろんsplit -l

しかし、私が望むのは、split必要な数の文字を使用できることです。

中国語のUnicodeの私の理解は、各文字の形のサイズが同じバイト数であるということです。したがって、使用できる最小公倍数である魔法のバイト数が必要です。split -bそうですか?

私はその数に達するために試行錯誤しようとしましたが、失敗しました。代わりに、文字自体が分割され、CJKファイルが2つに分割されます。

たとえば、「Dongting Lake」という文字列のみを含む「dunting」というファイルを使用すると、split本質的に意味のないコンテンツが生成されます。キャラクターの1つがsplit溭に変わったこともあります...

ベストアンサー1

xxd次の出力に示すように、各文字の幅は3バイトです。

$ xxd chinese-bytes
0000000: e6b4 9ee5 baad e6b9 96                   .........

split -b3私のために動作します。

$ split -b3 chinese-bytes
$ echo xa?
xaa xab xac
$ cat xaa; echo
$ cat xab; echo
$ cat xac; echo

おすすめ記事