我为使用我的文件内容使用代码指定而道歉,但格式化却很奇怪。
我有一个6,6494,940行文件,其中包含以下内容:
@MSQ-M01247R:81:000000000-ACWD8:1:1101:11811:1088 2:N:0:
CCCCCTCTTCCCTTTCTTCCCCCCTCTTTCTTCTTTCTCTTTTCTCCCTCTCCTTTTTTTCTCCTTTTTTTCCTTT
+
############################################################################
我想按顺序将每行的前10个字符写入新文件:
@MSQ-M0124
CCCCCTCTTC
+
##########
我使用了以下bash脚本:
while read line
do
long=$line
short=${long:0:10}
echo ${short}
done < $1
使用以下命令:
./bashscript.sh fileread.fastq >> filewrite.fastq
出了点问题。我的新/写文件有628,429,568,但它应该像原始/读取文件一样有66,494,940。所以看起来它一直在循环。
当我在新/写文件上使用head命令时,我得到:
@MSQ-M0124
CCCCCTCTTC
+
##########
@MSQ-M0124
CCTCCTCCTT
+
##########
@MSQ-M0124
CCTTCTTCTT
当我使用tail命令时,我得到:
CCCCCGGGGG
+
CCCCCGGGGG
GAGTCGTCTG
+
CCCCCGGGGG
+
CCCCCGGGGG
GAGTCGTCTG
+
CCCCCGGGGG
+
CCCCCGGGGG
GAGTCGTCTG
+
答案 0 :(得分:5)
cut
是你的朋友!
$ cut -c-10 file
@MSQ-M0124
CCCCCTCTTC
+
##########
这会使用cut
和 c 字符中的选项-c
来获取范围-10
,这意味着从1日到10日。