[MUSASHI-users] 「- 」除去の件について

Zurück zum Archiv-Index

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*****



MUSASHI-users メーリングリストの案内
Zurück zum Archiv-Index