Category Archive: データ処理

post by yamamoto | | 0 | 316 views

awk で awk を作る!

例えば、201404-201406 の DPC EFファイルがありました。

これらのファイルの先頭に年月(YYYYMM)と tab を追加したい場合は、下記の awkでいけます。

しかし、ファイルが多い場合、上記のコマンドを手入力するのは間違いやすいし、大変労力が要る作業になります。 もちろん、Excelを使えば、201404のところを列にして、マウスポインターで引っ張ると201409列まで作って、 後はできた内容をテキストエディタへコピーして、tab を space に置換えすれば、できないことはありません。 というか、いままで良くExcelの方法でやって来ました。 では、awk ならどうなるかというと下記の一行コマンドで上記6行のコマンドを作り出せます。簡単でしょう!!!

簡単に説明しましょう。 まず ls -l して、ファイルの一覧を出力します。すると9番目のカラム($9、OSによって異なる場合もある)はファイル名になります。 ファイル名から substr関数で 15文字目から4文字を取得します。 後は、\047でシングルクォーテーションすれば、完成です。 (ダブルクォーテーションは \" でエスケープします)