我正在尝试使用 awk 脚本读取学生数据。该文件的标题行和页脚行很少。 (假设前 3 个和后 3 个) 实际的学生数据放置在页眉和页脚之间,用逗号分隔,如下所示,
姓名、年龄、地点
我想打印学生的年龄以及页眉和页脚。
示例数据:
Header 1
Header 2
Header 3
dhana,28,USA
subha,24,India
Footer 1
Footer 2
Footer 3
预期输出:
Header 1
Header 2
Header 3
28
24
Footer 1
Footer 2
Footer 3
我的代码:
BEGIN{ FS = ","}
{
if(NR > 3)
{
print $2
}else{
print $0
}
}
我的输出:
Header 1
Header 2
Header 3
28
24
我使用 NR 运算符跳过 header 。如何打印页脚并仅处理学生数据(年龄)?
最佳答案
简短的awk
解决方案:
awk -F',' 'NF == 3{ $0 = $2 }1' file
输出:
Header 1
Header 2
Header 3
28
24
Footer 1
Footer 2
Footer 3
关于AWK 进程页眉和页脚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50536010/