從製表符分隔的文件中刪除行我有一個製表符分隔文件,第1列是一個ID,第2列是信息。我有第二個文件,其中包含需要從第一個文件中刪除的ID列表。當我使用grep時,我要麼獲得沒有更改的第一個文件的副本,要麼使用帶有-F -f「file2.txt」標誌/參數的-v獲得空白文件。 我的問題是:如何使用file2.txt比較它與file1的ID,以便從file1中刪除那些行以輸出到file3。使用grep -v
awk 'BEGIN{RS=">"}NR>1{sub("\n","\t"); gsub("\n",""); print RS$0}' $1 > fasta.tab
grep -F -f $2 fasta.tab -v >rmOutput.tab
tr '\t' \n' <rmOutput.tab >rmOutput.fas
echo Runtime Complete
線路1:創建一個從輸入端2 1 行製表DELIM文件:檢查輸入2爲比賽和刪除這些來自制表DELIM文件 第3行:重新創建輸入1 (爲了清楚起見)的格式
編輯:樣品I/O
輸入1(製表DELIM - 後第1行):
ID1 Info1
ID2 Info2
ID3 Info3
ID4 Info4
ID5 Info5
輸入2(IDS被刪除):
ID2
ID4
ID5
所需的輸出(從2號線)
ID1 Info1
ID3 Info3
問題頂部的awk + grep + tr + echo shell腳本的要點是什麼?你也提到'2號線後面'和類似的東西,但它不完全清楚這與你的樣本輸入/輸出有什麼關係 - 澄清這一點。 –
輸入文件是一個序列文件。這是格式 > SeqID 序列 等 重點是將文件變成一個大的製表符delim文件。這是給我的腳本,所以我不確定它是否是最有效/最實用的。 –
你是說你發佈的示例輸入實際上不是你必須處理的輸入格式嗎? –