プロが教えるわが家の防犯対策術!

solaris環境(SunOS 5.10)で日本語を含む文字列を標準出力させた際に、タブの位置が1バイト分後ろにずれてしまいます。

◼︎コマンド
(1)echo ”あ¥ta”
(2)echo ”aa¥ta”

◼︎出力結果
※スマホから入力しているため、空白を△として表記させて頂きます。
どちらもタブ一つ分の入力しかしていません。
(1)あ△△△△△a
(2)aa△△△△a



(1)について、出力結果が想定より1バイト分後ろにずれて出力される。
(2)の位置からaが始まるのが理想なのですが、原因などわからないでしょうか。

実際にやりたいのは、日本語とタブを複数含む文字列を標準出力させた後、日本語を含まない複数のタブを含む文字列を何行か標準出力させて、区切り位置を綺麗に見せたいです。

全然関係ないかもしれないですが、環境変数は下記のようになっています。
LANG=ja_JP.PCK
SHELL=/sbin/sh


宜しくお願い致します。

A 回答 (2件)

リダイレクトしてエディタ等で見るとかではダメですか?



あるいは次のようにするとか…
gawk 'BEGIN{print "a\ta";print "あ\ta"}' | less
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

教えていただいたやり方だとたしかに文字位置が揃いました!
できればtmpファイルのようなものは作らずに標準出力で対応したかったので、下のやり方でもうちょっと検討してみます。

情報提供ありがとうごさいました!

お礼日時:2015/01/20 18:06

日本語文字は2バイト(2文字)として数えられているためですね。


簡単には対処できないですね。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

やっぱり難しいですかね。。
色々検討してみます。
ありがとうございますm(._.)m

お礼日時:2015/01/06 10:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!