2010-08-17 121 views
1

我有一个文件。它包含这样grep文件中的特定字段也打印该行的文件名

领域的I/P文件:

a.txt 
9842,5003,a,a,100 
9942,5003,a,a,100 
9852,5003,a,a,100 
98456,5003,a,a,100 
9742,5003,a,a,100 

b.txt 
7842,5003,a,a,100 
7942,5003,a,a,100 
7852,5003,a,a,100 
98456,5003,a,a,100 
7742,5003,a,a,100 

c.txt 
8842,5003,a,a,100 
9842,5003,a,a,100 
8852,5003,a,a,100 
88456,5003,a,a,100 
8742,5003,a,a,100 

工作要做: 我需要到grep在上面输入文件(A.TXT特定行,b.txt & c.txt ) 输出线应包含所有字段和也是作为FILNAME最后场

O/p格式: 说,我的grep线与“9”开始指低于格式将需要在输出

9842,5003,a,a,100,a.txt 
9942,5003,a,a,100,a.txt 
9852,5003,a,a,100,a.txt 
98456,5003,a,a,100,a.txt 
9742,5003,a,a,100,a.txt 
98456,5003,a,a,100,b.txt 
9842,5003,a,a,100,c.txt 
+1

任何用'javascript'标记这个的理由? – 2010-08-17 12:31:26

+0

我有unix服务器... – 2010-08-17 12:34:34

回答

1
grep -H '^9' a.txt b.txt c.txt | awk -F : '{print $2","$1;}' 

grep命令以9开始,通过使用-h参数来打印文件名,然后用awk把它变成你想要的格式线。 awk的-F标志将字段分隔符更改为':'

0

您可以只使用一个awk命令,不需要grep。 grep和awk是互补的。

awk '/^9/{print $2","$1","FILENAME}' [abc].txt 
相关问题