Korn shellでのコマンド置換をしていた。
タブ区切りのファイルの一行目だけを変数に代入しようと
hoge=`head -1 tab_file`
として無事格納。
なんだけど、その後の処理で、どうも躓く。
保存されている文字列は
aaa bbbb ccというような形で当然、これがタブ区切りになっているはず。
しかし、
$ echo $hoge | cat -tとやると
aaa bbbb ccとなるだけ…。
本来、タブ区切りになっていれば
aaa^Ibbbb^Iccとタブの部分が「^I」になるはず…。
念のため、od -xコマンドでダンプをしてみると、やはりタブ(0x09)ではなくスペース(0x20)になっている。
$ echo $hoge | od -x
0000000 6161 6120 6262 6262 2063 630a
0000014
$ head -1 tab_file | od -x
0000000 6161 6109 6262 6262 0963 630a
0000014
headが悪いのかと思い、awkやperlで一行目だけ取ってみたが結果は同様。
「シェルの問題?」と思い、zshに変えたら、うまく行った。
% echo $hoge | cat -t
aaa^Ibbbb^Icc
とりあえずなんとかなったけど、それしかないのかなぁ…?
どなたか何か知ってたら教えてください!!
0 件のコメント:
コメントを投稿