[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[osx-users:0924] Re: awk での置換について



taraiです。はじめまして。

普段、osxの環境ではないので、ハズしている可能性が高いですが、
とりあえず。

<9A7891E0-9209-11D8-A811-000393ABC040@xxxxxxx> の、
   "[osx-users:0923] awkでの置換について" において、
   "honishi@xxxxxxx"さんは書きました:

> こんにちは、はじめまして、大西といいます。
> OSXを使っていていつかはと思っていたのですが、とうとう足を踏み入れましたが、さっぱりです。
> 携帯電話用のソフトで携帯から受信したデータにエクセルで作成したデータをインポートしようとしたのですが、
> ソフトのバグだと思うのですが、最初に携帯から受信した電話番号の頭の0が抜けてしまいます。
たぶん、excelの時点で、数値型と判定しているのでは?

なので、excelに詳しければ、文字型にしておくのが正しいのでは?

> そこで、インポートしたファイルをCSVで書き出し、awkで0を追加しようと考えたのですが。
> インポートした方にきっちり0が残っているため
excelに読み込ませる前のファイル?ということですか?
それとも、一度読ませてから出したものですか?


>   {gsub("([^0][0-9][0-9]+)" ,"0\1)";print}
> としたのですが、
> うまく置換できません。

awk(awk,gawk,nawk etc...)にもよるとはおもいますけれど、
[^0]の直前は何を想定されていますか?

素朴に、awkなら、FSを適切に指定して、もし$2がtelだとするなら、
置換云々よりも

print '0' $2 とか
printf("0%d",$2)とかもありでは?

あと一般的に、加工前、加工後のものを提供してもらえないと、
結構、厳しい気がします。

--[PR]------------------------------------------------------------------
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ●╋● 【水のクリタのうまい水】商品無料 お試しキャンペーン!
 ╋●┛ http://ad.freeml.com/cgi-bin/ad.cgi?id=cD61C
 ● お試しセット「1.5L×6パック」を送料(500円〜)のみでお届けします
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
------------------------------------------------------------------[PR]--
<GMO GROUP> Global Media Online  www.gmo.jp