第一行替换的 awk 条件

awk condition for first line replacement

我有一个 shell 替换了这个文件的第一行:

TABLE;APGFBEBA; ;
NoSS;CHAR(13);N° assuré;
DtDebExo;CHAR(8);Date début;

通过这个:

01 APGFBEBA.

但我也有原来看起来像这样的文件:

Table;APGFNOJF; ; ;

所以我尝试在我的 awk 命令中添加一个“或”条件,这样我就可以像上面那样替换这些行,但不幸的是它不起作用

这是我的 awk 命令:

awk -F ';' '
=="TABLE" && ==" " || =="TABLE" && ==" " {
  printf "01 %s.\n\n", ;
  next
}

第一个条件有效,但第二个条件无效

正在将我的评论转换为答案,以便未来的访问者可以轻松找到解决方案。

您不需要 || 条件来匹配两行,如

awk -F ';' '
toupper()=="TABLE"  &&  == " " {
   printf "01 %s.\n\n", 
}' file

应该适用于两条线。