ile her bir örneğinin değiştirilmesi .fasta
dosyalarında hızlı bir arka plan, ilk satırdan başlayarak her satır >
ile başlar, daha sonra başlık adına sahip oluruz. Dosyada >
bulabileceğiniz başka yer yok. Bazen 2 fasta dosyasını birleştirmek benzersiz olmayan başlık isimlerine yol açabileceğinden, her başlık adını benzersiz kılan basit bir betik istedim."> {InstanceNumber} _"
for i in {1..4013}; do awk '/>/{c++;if(c=='"$i"'){sub(">",">'"$i"'_")}}1' Combined_Pass_2D_nanocorrect_round1_renamed.fasta > tmp.fasta; \
rm -rf Combined_Pass_2D_nanocorrect_round1_renamed.fasta; \
mv tmp.fasta Combined_Pass_2D_nanocorrect_round1_renamed.fasta; done
Muhtemelen bu yaş sürmesi sizi tahmin edebilirsiniz, ama hile yapar:
ben var. Başlıkların sayısını bulmak için grep -c
kullandım ve 4013 olduğunu belirledim.
Daha hızlı bir yol var mı?
Aynı örnek satırları, dönüşümden önce neye benzediklerini ve dönüşümden sonra nasıl görünmeleri gerektiğini ekleyebilir misiniz? –
Sadece metin işlemek için bir kabuk döngüsü yazdığınızda, yanlış yaklaşma vardır. Http://unix.stackexchange.com/questions/169716/why-is-using-a-shell-loop-to-process-text-considered-bad-practice sayfasına bakın. –