アプリ版:「スタンプのみでお礼する」機能のリリースについて

以下のようなシェルを実行しますと

#! /bun/csh
set A_CODE = `echo "   5555 " | awk -F\t {print $1}'`
echo "$A_CODE"

(5555の前後に複数のスペース文字有り)

結果---------------------------
5555
-------------------------------
というようにスペースがなくなってしまいます。
なにか方法がありましたら教えてください。

A 回答 (3件)

すでに解決済みかもしれませんが。

。。
% cat test1.csh
#!/bin/csh
set A_CODE = "`echo '   5555 ' | awk -F\t '{print $1}'`"
echo "$A_CODE"
%
% ./test1.csh
  5555
%
    • good
    • 0
この回答へのお礼

いえいえ未解決です。
"と`の使い方であること了解しました。
ありがとうございました。

お礼日時:2004/12/28 13:59

わざわざ環境変数を送っていただき、ありがとう


ございました。
LANG=jaに設定してみましたが、結果は同じでした。

どうも変数に格納するときに、スペースが消去される
みたいです。

/export/home/test% echo " 5555 " | awk -F\t '{print $1}'
  5555

はスペースもちゃんと表示されますが、awkを挟まず単純に
頭にスペースのついた文字列を入れると、

/export/home/test% set A_CODE = "  5555 "
/export/home/test% echo $A_CODE
5555

のようになります。

お役に立てずにごめんなさい。
また何かわかったら回答させて頂きます。
    • good
    • 0
この回答へのお礼

お手数掛けます。
変数に格納するときに、スペースが消去されることはこちらでも確認しました。

>お役に立てずにごめんなさい。
そんなことはありません。いろいろ情報をいただきました。
ありがとうございました。
しばらく閉じないでおきます。

お礼日時:2004/12/22 08:53

awk -F\t {print $1}'`


{printの前に ' が抜けていたので付け加えて、下記コマンドを実行しました。

/export/home/test% set A_CODE = `echo "   5555 " | awk -F\t '{print $1}'`
/export/home/test% echo $A_CODE
  5555

と、ちゃんとスペースも表示されます。
はっきりとはわかりませんが、以前同じようにあるマシンでは行頭のスペースが表示され、
他のマシンでは行頭のスペースがなくなって表示されることがありました。
環境変数が原因ではないでしょうか。

同じ設定で試してみたいので、
よかったら実行環境の環境変数を教えて下さい。

この回答への補足

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

環境変数は以下のようになっています。
PATH=/usr/ucb:/usr/bin:/usr/etc:/usr/sbin:/usr/ccs/bin:/opt/SUNWspro/bin/:/usr/local/bin
TERM=vt100
TZ=Japan
SHELL=/bin/csh
LANG=ja
EDITOR=vi
OPENWINHOME=/usr/openwin
よろしくお願いします。

補足日時:2004/12/21 18:30
    • good
    • 0

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