awkからファイル名を取得する方法

awkからファイル名を取得する方法

次の名前と履歴を持つzipファイルがあります。

  • ファイル名: OMS_Profile_20150922.list.Z

サンプルレコード:

1234568194|301776931|301344831|301745924|4000247920|5|1|14|
1234525025|300667099|300316999|300645099|300624099|5|1|14|
1234586176|301121638|301131238|301145638|301124638|5|1|14|
1234597373|300689187|345664087|302464187|300624187|5|1|21|

awkこれで、コマンドを使用して次のような希望の出力を取得したいと思います。

field1|field6|field7|field8|OMS_Profile_20150922.list.Z

ベストアンサー1

.Zファイルが次のようになっているとします。compress- 圧縮ファイル(.Z拡張子が示すようにPKZIPアーカイブとは反対)圧縮ファイル提案します):

FILE='OMS_Profile_20150922.list.Z'
export FILE
zcat < "$FILE" | awk -F'|' -v OFS='|' '
  {print $1,$6,$7,$8, ENVIRON["FILE"]}'

おすすめ記事