2015年2月10日火曜日

awk で DPC EFファイルの先頭に年月を追加する

  • ある病院のDPC EFファイルの件数
$ wc -l EFn_000000000_14*.txt
  380502 EFn_000000000_1404.txt
  390134 EFn_000000000_1405.txt
  423224 EFn_000000000_1406.txt
  450589 EFn_000000000_1407.txt
  429559 EFn_000000000_1408.txt
  412329 EFn_000000000_1409.txt
  435993 EFn_000000000_1410.txt
  391426 EFn_000000000_1411.txt
  403304 EFn_000000000_1412.txt
 3717060 total
  • 年月を先頭につけて、UTF-8に変換し、1つのファイルに出力する
awk '{print "20" substr(FILENAME,15,4) "\t" $0}' EFn_000000000_14* | nkf -x > DPC_EFn_201404-12.txt
【解説】ファイル名の年月はYYMMなので、先頭に"20"を追加します。年月YYMMはファイル名の15文字目から4文字をとります。TAB("\t")を挟んで元の行($0)とくっつけます。それから、パイプ | を通して nkf コマンドで 文字コードをUTF-8(-x)に変換してから、DPC_EFn_201404-12.txt というファイルに出力(>)します。

0 件のコメント:

コメントを投稿