行間、csvファイルの先頭と末尾に新しい行を追加する方法

行間、csvファイルの先頭と末尾に新しい行を追加する方法

次の入力データには、ヘッダー情報を含むテーブル属性が含まれています。予想される出力は、タイトルと予想されるテキストの改行とともに以下に提供されます。これは、テーブル名が変更されたときに予想されます。

入力データ

Table,Host,Database,Schema,column
DEPT,My Host,My Database,Integration,Deptno
EMP,My Host,My Database,stage,emp_no
EMP,My Host,My Database,stage,emp_name

予想出力:

+++ Database Column - begin ++
Table,Host,Database,Schema,column
DEPT,My Host,My Database,Integration,Deptno
+++ Database Column - end +++
+++ Database Column - begin ++
Table,Host,Database,Schema,column
EMP,My Host,My Database,stage,emp_no
EMP,My Host,My Database,stage,emp_name
+++ Database Column - end +++

ベストアンサー1

たぶん、次のようなものがあります。

awk -F, '
  BEGIN {
    table = 1#st field
    begin = "+++ Database Column - begin +++"
    end = "+++ Database Column - end +++"
  }
  NR == 1 {begin = begin "\n" $0; next}
  $table != last_table {
    if (NR > 2) print end
    print begin
    last_table = $table
  }
  {print}
  END{if (NR > 1) print end}'

おすすめ記事