Linux 使用awk从文件生成报告
有一个名为list.lst的文件,我记下了它的内容。我需要编写一个awk脚本,该脚本生成一个报告,其中包含文件list.lst中所有董事的姓名、部门名称和工资 该脚本可以执行为:awk–f director.awk list.lstLinux 使用awk从文件生成报告,linux,unix,awk,Linux,Unix,Awk,有一个名为list.lst的文件,我记下了它的内容。我需要编写一个awk脚本,该脚本生成一个报告,其中包含文件list.lst中所有董事的姓名、部门名称和工资 该脚本可以执行为:awk–f director.awk list.lst 22233:charles harris :g.m. :sales :12/12/52: 90000.00 29876:bill johnson :director:production :03/12/50:13000
22233:charles harris :g.m. :sales :12/12/52: 90000.00
29876:bill johnson :director:production :03/12/50:130000.00
25678:robert dylan :d.g.m :marketing :04/19/43: 85000.00
22365:john woodcock :director:personnel :05/11/47:127000.00
25423:barry wood :chairman:admin :08/30/56:160000.00
21006:gordon lightfoot :director:sales :09/03/38:140000.00
26213:michael lennon :g.m. :accounts :06/05/62:105000.00
24290:neil o'bryan :executive:production :09/07/50: 65000.00
22476:jackie woodhouse :manager :sales :05/01/59:110000.00
21265:p.j. wodehouse :manager :accounts :02/03/55: 97000.00
26521:derryk o'brien :d.g.m :accounts :12/12/55: 85000.00
22312:bill wilcocks :director:marketing :09/26/45:125000.00
23564:ronie trueman :executive:personnel :07/06/47: 75000.00
22345:james wilcox :g.m. :marketing :03/12/45:110000.00
20110:julie truman :g.m. :marketing :12/31/40: 95000.00
20117:john trucman :g.m. :accounts :12/25/41:110000.00
20123:frank -adams :g.m. :accounts :09/25/48:110000.00
20129:Robin love :director:sales :10/01/08:120000.00
===========================================================
创建一个名为marketing.awk的awk脚本,其中显示营销部门所有员工的姓名、职位和工资。
脚本可以按以下方式执行:
./marketing.awk list.lst
22233:charles harris :g.m. :sales :12/12/52: 90000.00
29876:bill johnson :director:production :03/12/50:130000.00
25678:robert dylan :d.g.m :marketing :04/19/43: 85000.00
22365:john woodcock :director:personnel :05/11/47:127000.00
25423:barry wood :chairman:admin :08/30/56:160000.00
21006:gordon lightfoot :director:sales :09/03/38:140000.00
26213:michael lennon :g.m. :accounts :06/05/62:105000.00
24290:neil o'bryan :executive:production :09/07/50: 65000.00
22476:jackie woodhouse :manager :sales :05/01/59:110000.00
21265:p.j. wodehouse :manager :accounts :02/03/55: 97000.00
26521:derryk o'brien :d.g.m :accounts :12/12/55: 85000.00
22312:bill wilcocks :director:marketing :09/26/45:125000.00
23564:ronie trueman :executive:personnel :07/06/47: 75000.00
22345:james wilcox :g.m. :marketing :03/12/45:110000.00
20110:julie truman :g.m. :marketing :12/31/40: 95000.00
20117:john trucman :g.m. :accounts :12/25/41:110000.00
20123:frank -adams :g.m. :accounts :09/25/48:110000.00
20129:Robin love :director:sales :10/01/08:120000.00
市场营销
#!/usr/bin/awk -f
{
if($4~/marketing/)
{
print $2,$3,$6;
}
}
市场营销
#!/usr/bin/awk -f
{
if($4~/marketing/)
{
print $2,$3,$6;
}
}
shebang必须包括
-f
:#/usr/bin/awk-f
。由于偏爱/usr/bin/env
是常见的,并且这会阻止使用-f
,因此使用#更常见/bin/sh
并直接调用awk。是否可以为第一部分编写代码:if($3~/director/){print$2,$4,$6;}可以。它将从主管部门获取所有结果。shebang必须包括-f
:#/usr/bin/awk-f
。由于偏爱/usr/bin/env
是常见的,并且这会阻止使用-f
,因此使用#更常见/bin/sh
并直接调用awk。是否可以为第一部分编写代码:if($3~/director/){print$2,$4,$6;}是的,可以。它将从主管部门获取所有结果。