重新創建上一個問題以便更清楚。我試圖搜索兩個目錄中的文件,並且只有匹配第一個目錄中的記錄時,纔會將匹配的字符串(緊隨其後的一行)打印到第二個目錄中的新文件中。我發現了類似的例子,但沒有什麼不同。我不知道如何使用awk來處理來自不同目錄的多個文件,並且我折磨自己試圖找出它。如何在兩個目錄中使用awk進行多個文件搜索,僅從第二個目錄中匹配字符串的文件中打印記錄
目錄1,28,000個文件,格式化爲即,:
>ABC
KLSDFIOUWERMSDFLKSJDFKLSJDSFKGHGJSNDKMVMFHKSDJFS
>GHI
OOILKJSDFKJSDFLMOPIWERIOUEWIRWIOEHKJTSDGHLKSJDHGUIYIUSDVNSDG
目錄2,15個文件,格式化即:
>ABC
12341234123412341234123412341234123412341234123412341234123412341234
>DEF
12341234123412341234123412341234
>GHI
12341234123412341234123412341234123412341234123412341234123412341234123412341234
所需的輸出:
>ABC
12341234123412341234123412341234123412341234123412341234123412341234
>GHI
12341234123412341234123412341234123412341234123412341234123412341234123412341234
目錄1及2處位於我的主目錄:(./Test1 & ./Test2)
如果任何人都可以建議命令的具體不同的目錄,我會非常感激!目前,當我包括文件路徑(例如,/Test1/*.fa)我得到以下錯誤:
awk: can't open file /Test1/*.fa
到目前爲止似乎正在工作 - 在我的筆記本電腦上進行測試的文件數量減少了 - 將在我明天回到辦公室時檢查完整數據集並跟進 - 非常感謝您! – MoGo
我不得不說,得說 - 這真是太棒了!我只遇到一個掛斷,這是我的完整數據集提供了一個錯誤「/ usr/bin/awk:參數列表太長」。我試圖把它變成'xargs',我得到了同樣的錯誤。我已經將> 28,000個文件複製到另一個目錄中,以較慢的方式執行此操作,但我想問問是否有其他技巧可以解決此問題?只是爲未來的努力添加另一個信息資源(這是一個我會更經常使用的腳本)。 – MoGo
你超出了shell的最大參數長度,因此你會得到與任何命令(ls,cat,xargs等)相同的錯誤。讓我想想看,如果我能想出一個解決方法(谷歌的結果在這種情況下沒有產生任何有用的東西)。 –