2012-06-24 63 views
1

我有一對夫婦其中有這樣的一個格式文件:終端編輯文件,刪除某些字符

 
TCTCTGGAAAGGGACGCCTGGGAGG 10 
AAAAATACATTCTAACCTCGGCGT 1 
TAATTTCATCAATATATCAATG 1 
(etc...) 

我想要的空間後去除一切,讓我只得到這到底:

 
TCTCTGGAAAGGGACGCCTGGGAGG 
AAAAATACATTCTAACCTCGGCGT 
TAATTTCATCAATATATCAATG 
(etc...) 

我該怎麼做?

+1

我們應該假設你有標準的Unix工具,比如sed,awk,perl等嗎?當你說你想刪除「空間之後」的所有內容時,你的意思是「之後包括」? –

+0

是的,包括空間後的一切。另外我有所有標準的Unix工具。 – Bucco

回答

2

您可以使用awk做到這一點:

cat oldfile | awk '{print $1}' > newfile 
+0

因此,所有這些方法將返回新的文件的空格和數字刪除權? – Bucco

+0

是的,新文件將只包含從行首的字符串 – timos

2
cut -d' ' -f1 file.txt 

或:

sed 's/ .*//' file.txt 

sed -e 's/[^ACTG]//g' file.txt 

awk '{print $1}' file.txt 
+0

因此,所有這些方法將返回新的文件的空格和數字刪除權? – Bucco

0

並不像timos的回答那麼簡潔和美觀:),而是用Ruby編寫的另一個相同功能的快速示例。

#!/usr/bin/env ruby 

data = File.read("data.txt") 
f = File.open("outData.txt", "w") 
finalData = data.scan(/^\w+/) 
finalData.each {|i| f.write(i + "\n")} 
f.close 
+0

那麼所有這些方法將返回新的文件,空格和數字被刪除嗎? – Bucco

+0

嗨Bucco,是的下面的代碼將按照您的問題需要。如果你有一個文件包含很多行,比如「TCTCTGGAAAGGGACGCCTGGGAGG 10」,它會將它們解析爲名爲outData.txt的文件,並且只包含DNA數據 –