我想做到以下幾點,但我似乎沒有今天能夠環繞它我的大腦......grep的文件從一個文件匹配的grep的結果
我有段數,例如爲45.我有一個員工數據文件,以員工的章節號結尾。所以,我可以抓住所有員工:
grep ",45$" /data/employees.dat
現在,返回類似下面的內容。爲簡潔起見,我省略了多列數據。第一列是ID。最後是部分編號。
38275,...some data...,45
4718573,...some data...,45
328,...some data...,45
現在,在硬的部分...在/數據是一組目錄。每個目錄名爲p ####,其中####是員工編號。這些目錄的內部是一組文件。我對/data/p####/contacts.csv感興趣。我有一個關鍵值(在本例中爲「Bob」),我希望在previous grep的每個員工的contacts.csv文件中找到包含關鍵值的每一行。我不想親手做這件事,因爲在實際工作中,我將從每個grep中收到幾千個結果。
grep Bob /data/p38275/contacts.csv
grep Bob /data/p4718573/contacts.csv
grep Bob /data/p328/contacts.csv
在我看來,我應該可以到grep對文件名的模式,但後來我不得不廢話第一的grep在爲圖案 - 我不認爲我能做到。如果唯一的好辦法是編寫一個腳本來完成這一切,我會這樣做。現在,我搞砸了sed和awk,看看有沒有什麼開始有意義的。
這是正確的,但缺少一半的答案。您必須將原始grep輸入到上面的答案中,如下所示:'grep「,45 $」/data/employees.dat | grep Bob $(awk -F,'$ NF == 45 {print「/ data/p」$ 1「/contacts.csv」}')' – kainaw 2015-04-07 13:58:48
啊。不,我只是在awk命令中忘記了文件名 - 它已經選擇了。我編輯過;我的錯。 – Wintermute 2015-04-07 14:09:54