Terminal 删除某些字符的终端编辑文件

Terminal 删除某些字符的终端编辑文件,terminal,Terminal,我有几个文件的格式如下: TCTCTGGAAAGGGACGCCTGGGAGG 10 AAAAATACATTCTAACCTCGGCGT 1 TAATTTCATCAATATATCAATG 1 (etc...) TCTGGAAGGGCGCCTGGGAGG 10 AAAA TACATTCTACTCGGCGT 1 TAATTTCTCAATATCAATG 1 (等等……) 我想删除空格后的所有内容,以便最终只得到以下内容: TCTCTGGAAAGGGACGCCTGGGAGG AAAAATACAT

我有几个文件的格式如下:

TCTCTGGAAAGGGACGCCTGGGAGG 10 AAAAATACATTCTAACCTCGGCGT 1 TAATTTCATCAATATATCAATG 1 (etc...) TCTGGAAGGGCGCCTGGGAGG 10 AAAA TACATTCTACTCGGCGT 1 TAATTTCTCAATATCAATG 1 (等等……) 我想删除空格后的所有内容,以便最终只得到以下内容:

TCTCTGGAAAGGGACGCCTGGGAGG AAAAATACATTCTAACCTCGGCGT TAATTTCATCAATATATCAATG (etc...) TCTCTGGAAGGGCGCCTGGGAGG AAAA TACATTCTACTCGGCGT 塔塔塔塔塔塔塔卡塔格 (等等……)
我将如何执行此操作?

您可以使用awk执行此操作:

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

您可以使用awk执行此操作:

cat oldfile | awk '{print $1}' > newfile
或:

或:


不像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

不像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

我们是否应该假设您有标准的Unix工具,如sed、awk、perl等?当你说你想删除空间“之后”的所有内容时,你的意思是“之后并包括”?是的,删除空间之后并包括空间的所有内容。我也有所有标准的Unix工具。我们是否应该假设您有标准的Unix工具,如sed、awk、perl等?当你说你想删除空间“之后”的所有内容时,你的意思是“之后并包括”?是的,删除空间之后并包括空间的所有内容。我还有所有标准的Unix工具。所以所有这些方法都会返回新文件,并删除空格和数字,对吗?嗨,Bucco,是的,下面的代码将按照您的问题要求执行。如果你有一个包含很多行的文件,比如“TCTCTGGAAGGGCGCCTGGGAGG 10”,它会将它们解析为一个名为outData.txt的文件,并且只包含DNA数据,所以所有这些方法都会返回新文件,并删除空格和数字,对吗?你好,Bucco,是的,下面的代码会按照你的问题要求执行。如果您有一个包含很多行的文件,比如“tctctggaagggagcgccctgggagg10”它会将它们解析为一个名为outData.txt的文件,并且只包含DNA数据。所有这些方法都会返回新文件,删除空格和数字,对吗?所有这些方法都会返回新文件,删除空格和数字,对吗?所有这些方法都会返回新文件,删除空格和数字删除的数字是否正确?是的,新文件将只包含行首的字符串,因此所有这些方法都将返回带有空格的新文件,并将数字向右删除?是的,新文件将只包含行首的字符串
awk '{print $1}' file.txt
#!/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