我正在将多个文件(每个~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
在我检查文件之后,合并文件的大小比原始文件小,并且在中间某处连接。
由于
答案 0 :(得分: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