使用awk打印输出格式

时间:2016-04-04 05:35:31

标签: linux awk

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

  

B-001-002-002;业余无线电操作员证书有效期为:;生活;五年;三年;一年

使用FS和OFS,我可以将它分成不同的行。代码在cli中工作,但我想在脚本中编写它并能够运行它。

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

这适用于cli,但是当我不确定如何在脚本中使用它时。

期望的输出:

  
      
  1. B-001-002-002
  2.         

    业余无线电操作员证书适用于:

         

    a)生活

         

    b)五年

         

    c)三年

         

    d)一年

谢谢!

1 个答案:

答案 0 :(得分:0)

您需要的不仅仅是更改分隔符。

$ 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