0

.ICS カレンダー ファイルを処理する awk スクリプトがあります。欠落している場合は、ATTENDEE 行を追加する必要があります。

CHECKPARM 条件を指定して必要なものだけを考慮して、すべてのイベントを解析するスクリプトを既に持っています。ATTENDEE がまだ存在しない場合は追加する必要があります。

/BEGIN:VEVENT/ { cache = 1; }

/CHECKPARM/ {
    if( index( $0, var ) )
        printf( "%s", cached_lines );
    else
        drop = 1;
    cached_lines = "";
    cache = 0;
}

# this doesn't work
#!~ /ATTENDEE/ {
#    printf ("ATTENDEE: %s", organizer);
#}

cache  {
    cached_lines = cached_lines $0 "\n";
    next;
};

!drop { print; }

/END:VEVENT/ { drop = 0; }
4

1 に答える 1

1

フラグを使用してみてください。行が存在する場合は設定し、存在しない場合は行を追加します。このようなもの:

/ATTENDEE/ {att = 1}

!att {
    printf ("ATTENDEE: %s\n", organizer)
}
于 2013-04-08T21:37:01.960 に答える