繁体   English   中英

使用 awk 打印格式化输出

[英]Using awk to print format the output

这是我写的 awk 脚本:

BEGIN{ print "Working" }
{
    awk "$1=$1" FS=";" OFS="\n" questions.txt > aa.txt
}

该文件的文本如下:

B-001-002-002;An Amateur Radio Operator Certificate is valid >for:;life;five years;three years;one year

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

我的代码是:

awk '$1=$1' FS=";" OFS="\n" filename

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

期望输出:

  1. 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM