0

多くのファイル (それぞれ 1 ギガまで) を 1 つのファイルにマージしていますが、マージされたファイルは不完全です。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 に答える