0

我有一个处理 .ICS 日历文件的 awk 脚本。如果缺少 ATTENDEE 行,我需要添加它。

我已经有一个脚本,它解析所有事件,只考虑我需要给定 CHECKPARM 标准的事件。如果与会者不存在,我需要添加它。

/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 回答