cut
今日使用したとき、UTF-8文字を文字として扱うのではなく、3バイトの長さであるため3文字であることがわかりました。
これは多くのツールで一般的に当てはまるようです。
coreutils
UTF-8対応のバージョンはありますか?
私のlocale
出力:
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
cut
うまくいかないとき
echo 哈哈 | cut -c 2-
��哈
正しい出力は
哈
cut -c
マルチバイト文字を使用した場合。
ロケールを更新しました。
—
チャオシュー
OK、
—
アレックス
cut
コマンドラインの例を追加できますか?
echo ßßßß | cut -c 2-
-> �ßßß
(LANG=en_US.UTF-8
)
悲しいことは、3年後、これは... Ubuntuの13.10で、まだ真である、ということである
—
博士マイク・
locale
適切に設定しましたか?locale
(引数なし)コマンド呼び出しの読み取りは何ですか?