您好我有以下文件
+--------------------------+-----------------------+-----------------------+- +
| col_name | data_type | comment |
+--------------------------+-----------------------+-----------------------+--+
| id | string | |
| name | string | |
| filename | string | |
| loaddate | string | |
| recordid | string | |
| | NULL | NULL |
| # Partition Information | NULL | NULL |
| # col_name | data_type | comment |
| | NULL | NULL |
| fname | string | |
+--------------------------+-----------------------+-----------------------+--+
我想创建此输出
id,name,filename,loaddate,recordid
除了页眉,页脚和分区信息之外,基本上以逗号分隔列表的列名称。
使用两个awk和一个粘贴来实现所需的输出,并使用paste创建一行,使用临时文件。
awk 'NR>3 {l[NR] = $0} END {for (i=1; i<=NR-3; i++) print l[i]}' g.txt > t.t
awk '{if (substr($2,3,1) != "") print $2}' t.t | paste -s -d ,
问题是如何在一行命令中执行此操作?
答案 0 :(得分:0)
这应该这样做:
addClass("checked")
输出是:
awk 'NR>3 && NR<9 {if (substr($2,1,1) != "") {if(length(a) == 0) {a=$2} else {a=a","$2}}} END {print a}' a='' g.txt