• 締切済み

【UNIX】echoコマンドのタブがずれる

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 宜しくお願い致します。

みんなの回答

回答No.2

リダイレクトしてエディタ等で見るとかではダメですか? あるいは次のようにするとか… gawk 'BEGIN{print "a\ta";print "あ\ta"}' | less

sigesigeo1919
質問者

お礼

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

  • maiko0318
  • ベストアンサー率21% (1483/6969)
回答No.1

日本語文字は2バイト(2文字)として数えられているためですね。 簡単には対処できないですね。

sigesigeo1919
質問者

お礼

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