0

我将许多文件(每个约 1 gig)合并到一个文件中,但合并的文件不完整。当将 b 连接到 a 时,b 会在中间的某个地方连接而不是结束。我正在运行的命令是:

for f in $x/*/y/*.fastq; do

    fullpath=`echo $(readlink -f $f)`
    basename=`echo "${fullpath##*/}"`
    pathname=`echo "${fullpath%/*}"`
    name=`echo "$basename"|sed 's/-_-.*//'`

    cat $f>>$x/z/${name}.fastq

done

也,或者

names=$(cut -f 3 $B)
names=$(echo "${names[@]}" | tr ' ' '\n' | sort -u | tr '\n' ' ')
for name in ${names[@]}; do
    cat $x/*/y/${name}-_-*.fastq>$x/z/${name}.fastq
done

在我检查文件后,合并文件的大小比原始文件小,并且还在中间的某个地方连接。

谢谢

4

1 回答 1

0

试试这个:

#!/bin/bash
shopt -s nullglob
for f in "$x"/*/y/*.fastq; do
    fullpath=$(readlink -f "$f")
    basename=${fullpath##*/}
    pathname=${fullpath%/*}
    name=${basename%%-_-*}
    dest=$x/z/$name.fastq
    echo "$f >> $dest"
    cat "$f" >> "$dest"
done
于 2014-08-18T19:35:43.643 回答