Yukinobu Hamuro
hamur****@adm*****
2003年 8月 25日 (月) 08:00:14 JST
羽室です 月、日ともに固定長(2桁)なら問題ありませんね。 ちなみに、-gを指定すれば一行で変換できます。 -gはグローバル置換(条件に一致する全ての文字を置換)です。 xtsed -f 日付,入会日付,生年月日 -c - -v '' -g -o xx1 ただ、矢田先生の書いた例のように可変長の場合(2003-8-1など)は問題ですね。 ややこしいスクリプトを記述すれば可能ですが(下記スクリプト参照)、日付や時間のフォーマット変換は、コマンド化すべきだと考えています。 いずれxtcalコマンドの関数として組み込みます。 function convDate { xtcut -f '*',$1:yyyy,$1:mm,$1:dd | xtsed -f yyyy -c '-.*-.*$' -v '' | xtsed -f mm -c '^....-' -v '' | xtsed -f mm -c '-.*$' -v '' | xtsed -f dd -c '^.*-.*-' -v '' | xtcal -c 'cat(fix($yyyy,4,R,0),fix($mm,2,R,0),fix($dd,2,R,0),)' -a newDate | xtcut -r -f $1 | xtcut -f '*',newDate:$1 | xtcut -r -f yyyy,mm,dd,newDate } convDate 日付 <infile >outfile iida さんは書きました: >羽室先生、矢田先生 ありがとうございます。 > >2003-08-17 > >のデータの「-」を省くのに2行かかりましたけれども >除去できました。 > >ありがとうございます。 > > >--------------------------------- > >xtsed -f 日付,入会日付,生年月日 -c - -v '' -o xx1 > >始めの一行で xx1 の指定項目は 200308-17 等になります。 > >xtsed -f 日付,入会日付,生年月日 -c - -v '' -i xx1 -o xx2 > >もう1回xtsedを行い、 xx2 で 20030817 になりました。 > >□□□□□□□□□□□□□□□□□□ > 株式会社CMC FSP推進部 > 飯田洋 >〒143-0006 > 東京都大田区平和島6-1-1 > (東京流通センタービル5F) >〓(03)5767-8321 Fax(03)5767-8322 > E*mail : iida****@ecoup***** > P*mail : cmc_iida0****@docom***** >□□□□□□□□□□□□□□□□□□ ---- Yukinobu Hamuro hamur****@adm*****