将文件名和空列添加到awk中的现有文件

时间:2016-08-23 08:58:46

标签: bash awk header

亲爱的我想在一个awk步骤中添加到我现有的文件“文件名”和“空列”中,包括标题:

输入:

head1 head2 head3
value1 value2 value3

Ouptut:

filename note head1 head2 head3
file1 empty_column value1 value2 value3

所以我只想添加标题“Filename”和“Note”。在Filename下面是我的文件的名称,在note下是空字段。

我可以用两个awk命令执行此操作并将其粘贴在一起,但有没有办法在单行中执行此操作?

我的想法是:

awk -v OFS="\t" '{print FILENAME, $2="",$3 - end}' infile

但不知道如何添加标题以及如何打印移动的字段(表单位置$ 1到$ 3)。

注意:我有大约77列 - 不仅仅是三个像示例。

感谢您的任何想法。

1 个答案:

答案 0 :(得分:3)

尝试一下:

awk '{$0=FILENAME "\t" (NR==1?"note":"") "\t" $0}7' file

根据评论更新:

awk '{$0=(NR==1? "NAME\tnote":FILENAME"\t") "\t" $0}7' file

输出:

NAME    note    head1 head2 head3
file            value1 value2 value3