String 需要打印输出文件中文件的第二列
已使用samtools查看我们的文件。我只需要抓取第二栏,所以我抓到了String 需要打印输出文件中文件的第二列,string,unix,awk,String,Unix,Awk,已使用samtools查看我们的文件。我只需要抓取第二栏,所以我抓到了 ./samtools view mybamfile.bam | awk '{ print $2 }' > output.txt 你会猜到那没用。。如果awk不是一个好的选择,我愿意尝试其他任何东西 我相信/samtools view view mybamfile.bam的输出是以制表符分隔的,因此AWK的字段分隔符应该设置为tab(-F'\t'),以便获得第二列 请尝试以下命令: ./samtools view m
./samtools view mybamfile.bam | awk '{ print $2 }' > output.txt
你会猜到那没用。。如果awk不是一个好的选择,我愿意尝试其他任何东西 我相信
/samtools view view mybamfile.bam
的输出是以制表符分隔的,因此AWK的字段分隔符应该设置为tab(-F'\t'
),以便获得第二列
请尝试以下命令:
./samtools view mybamfile.bam | awk -F'\t' '{ print $2 }' > output.txt
将选项卡重新设置为分隔符:
如果未指定字段分隔符,AWK将在“白空间”(例如空格和制表符)上拆分,使用-F'\t'
确保只在制表符上拆分,而不是在空格上拆分。这使得包含空格和制表符的文件有所不同。例如
irene adler john moriarty
frank pempleton tim bayliss
假设每行的两个名称之间有一个选项卡。如果制表符未指定为字段分隔符,AWK每行将看到4个字段,第2列将包含adler
和pempleton
。如果将tab指定为字段分隔符,AWK将只在每行上看到2字段,第2列将由john moriatry
和tim baylis
组成
在Linux下使用GNU Awk 3.1.6进行测试。默认情况下,Awk将字段分隔符作为制表符。因此,如果字段分隔符确实是制表符,则您的命令应该有效。 您可以尝试以下方法:
./samtools view mybamfile.bam |cut -f2 -d'\t'
您能给出samtools的输出示例吗?如果您向我们展示了您的文件,这会有所帮助。Awk使用字段分隔符(默认为空格或制表符)分隔文件。这应该可以工作,但您可能需要指定分隔符是什么。除非您显示一些数据,否则我们只能猜测。@JaypalSingh true,但如果您只想在制表符上分隔,则需要指定它。如果您不指定任何内容,AWK将在空格和制表符上拆分,请使用
-F'\t'
确保它只在制表符上拆分,而不是在空格上拆分。