2017-05-15 48 views
0

你好我有点新的编码很抱歉,如果这没有意义。我需要帮助我正在尝试处理文件的脚本。该文件是逗号分隔的,并希望过滤它只显示特定的字符,并保持它的标题。我试图通过域10中的并行代码来过滤文件,并且在该文件上有超过2000条记录。过滤w/AWK

Example: 
Name, Address, Phone, Zip, Coll Code, 
Susan Mary, abc, 12345678, 12345, T, etc.. 
Jon Doe, abc, 12345678, 12345, Y, etc.. 
Carry Mclaughlin, abc, 12345678, 12345, T, etc.. 
Larry Burk, abc, 12345678, 12345, M, etc.. 

Wanted Output: 

Name, Address, Phone, Zip, Coll Code, etc.. 
Susan Mary, abc, 12345678, 12345, T, etc.. 
Carry Mclaughlin, abc, 12345678, 12345, T, etc.. 

这是我目前使用的示例(代码在字段10中)。

awk -F, '{if ($10 == "T") print $0}' originalfile > newfile 

唯一的问题我现在正在将HEADER保持在此文件上。

- 谢谢

+1

但'T'是不是在10列的输入 – RomanPerekhrest

+0

那么我给你的例子只是一个快速示例,但在实际的文件中它是在第10列。我想清楚我需要添加什么来包含标题。 – Joel

+0

请不要向我们展示一件事,然后告诉我们“我知道,根据我给你展示的内容,只有一个不同的文件,只有我可以看出这确实有意义......” - 只是[编辑]你的问题,所以它是有意义的独立。 –

回答

1

很难从你的问题告诉,但它听起来像这可能是你想要的命令:

awk -F, 'NR==1 || $10=="T"' file 
0

好吧,所以花了我一个小时才终于找到了这一个。下面是我用

awk -F, 'NR==1; NR > 1{if ($10 == "T") print $0}' originalfile > newfile 
+0

这是一个疯狂的命令行:-)。您可以从Arnold Robbins的第4版Effective Awk Programming一书中学习awk。 –

+0

这是一个比较冗长,不那么惯用的写Ed Damon解决方案的方式。 –