我有一个处理.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; }
答案 0 :(得分:1)
尝试使用标记,如果存在行,则设置它,如果不存在,则添加行。 像这样:
/ATTENDEE/ {att = 1}
!att {
printf ("ATTENDEE: %s\n", organizer)
}