这是我写的enter image description here awk脚本,文件中的文本如下:


  B-001-002-002;业余无线电操作员证书的有效期:;寿命;五年;三年;一年


使用FS和OFS,我可以将其拆分为单独的行。该代码在cli中工作,但是我想在脚本中编写它并能够运行它。

我的代码是:
awk'$ 1 = $ 1'FS =“;” OFS =“ \ n”文件名

这在CLI中有效,但是当我不确定如何在脚本中使用它时。

所需输出:


  
  B-001-002-002
  
  
  业余无线电操作员证书适用于:
  
  a)生活
  
  b)五年
  
  c)三年
  
  d)一年


谢谢!!

最佳答案

您所需要的不只是更改定界符。

$ awk -F';' 'BEGIN{split("x;x;a;b;c;d;e",c)}
                  {print NR". " $1; print $2;
                   for(i=3;i<=NF;i++) print c[i] ") " $i}' file

1. B-001-002-002
An Amateur Radio Operator Certificate is valid for:
a) life
b) five years
c) three years
d) one year

10-04 14:34