Linux Awk帮助代码

我需要打印文件的内容,并为每列提供标题,留下足够的空间以便可读,然后我需要将其输出到新文件中.我跟着这个教程好了一会儿但是我已经卡住了.

http://www.thegeekstuff.com/2010/01/awk-introduction-tutorial-7-awk-print-examples

这是他们使用的示例代码,这将完全给我我需要做的事情.但是当我调整它时,它将无法工作.

$awk 'BEGIN {print "Name\tDesignation\tDepartment\tSalary";}
{print $2,"\t",$3,"\t",$4,"\t",$NF;}
END{print "Report Generated\n--------------";
}' employee.txt

这是我的,与示例不同,我希望打印整个文档,并且不希望这个“报告生成”无意义.我尝试在结束后添加{print;}’,并确保开始一个新行并且……没有.

$awk 'BEGIN {Print "Firstname\tLastname\tPoints";} END > awktest.txt > done

我哪里出错了?它不断给我回应源代码行2.

最佳答案 要删除边线,只需删除从END到结束的任何内容:

awk 'BEGIN {print "Name\tDesignation\tDepartment\tSalary";} {print $2,"\t",$3,"\t",$4,"\t",$NF;}' employee.txt

在你的第二个例子中,你省略了结束’,我怀疑你再放一个“>”比需要的:

awk 'BEGIN {print "Firstname\tLastname\tPoints";}' awktest.txt > done

然而,后一个例子将默默地忽略从“awktest.txt”读取的所有内容.

点赞