我首先應該感謝大家對本網站上的所有答案。我花了很多時間閱讀他們,但還沒有發現任何符合我的問題。因此,我自己的職位。在文件夾上使用awk並將文件名添加到輸出行中
我有一個文件夾中有多個子文件夾和txt文件。在這些文件的第7列中,有基因名稱(我爲生存做遺傳學:))。這些是我想要提取的字符串。不久,我想在整個文件夾中搜索包含特定基因名稱/字符串的任何文件中的任何行。我一直用grep這個,寫東西,如:
grep -r GENE . > GENE.txt
簡單,但我需要能夠進一步調整搜索,似乎再AWK是要走的路。
所以我嘗試使用awk。我寫的是這樣的:(?現在我可以指定字符串必須是在一個特定的列,這我不能使用grep做,右)
awk '$7 == "GENENAME"' FOLDER/* > GENENAME.txt
這種運作良好。 然而,與grep相比,它在每行開頭寫入文件名,現在我不能直接看到哪個文件在我的輸出文件中的哪一行來自哪個文件(大多數情況下會破壞搜索點)。這樣,在每行的某處添加原始文件的名稱似乎是絕對可行的,但我無法弄清楚。
我在搜索範圍內搜索的文件(或更確切地說是更多),但否則我的搜索將始終是在同一個大文件夾的第7列中的某些特定字符串。我怎樣才能得到這個工作?
謝謝你在前進, 伊麗莎白·ê
*在每行的某個位置添加源文件的名稱* - 不清楚 – RomanPerekhrest
那麼,如果您知道如何定義一個列,例如,您可以使'grep'只搜索某個特定列。 'seq 10 | tr'\ n'''| grep -E'^([^] +){6} 7''。 –