当我运行此脚本,我收到一条错误消息:“排序:写失败:标准输出:残破的管道”bash的错误排序“排序:写失败:标准输出:残破的管道”
如果有人能帮助我这将是真棒,我疯了这个错误
输入文件是所有包含FASTA格式的DNA序列的文件列表,所以每个文件有几个序列(每个序列在一行中)格式为: 1美元(标识符)中$ 2,3,4,5,6,7 & 8(更多值)9美元(DNA序列)
然后我想通过每个文件中的序列数($ common_hits)选择每个序列(这个数字不是固定值,但是我为此例子设置了6) - 必须删除所有少于6个序列的文件 - 具有6个序列的文件是可用的 - 具有多于6个序列的文件必须被减少到6个序列(这些序列通过字段$ 5的较高值来选择)
输出文件必须具有全部6个序列,序列号(字段$ 9)必须位于标识符后面的行中
我现在不会删除原始文件的序列数超过6个,因为我想确保它能正常工作
par_list=`ls -1 *BR`
common_hits="6"
for i in ${par_list}
do
if [ "`cat ${i} | wc -l`" -lt "${common_hits}" ]
then
rm -f ${i}
elif [ "`cat ${i} | wc -l`" -gt "${common_hits}" ]
then
cat ${i} | sort -nr -k 5 | head -n ${common_hits} | \
awk '{print $1" " $2" " $3" " $4" " $5" " $6" " $7" "$8 ; print $9}' > ${i}.ph
fi
done
欢迎堆栈溢出的网站,请包你的代码(S)为代码的标签,每论坛规则和更清楚地说明问题,这样我们就可以尽量帮你,谢谢。 – RavinderSingh13
我可以看到我们可以做出很多改变成你的脚本,你可以请张贴2两件事,第1你有什么要求(样本INPUT_FILE和预期的output_file),如果你只想使用相同的脚本,则使用se t -x在你的脚本开始并向我们显示输出,但是你还是要让我们知道你的需求(什么是Input_file和代码标签中的output_file)。 – RavinderSingh13
感谢您的建议,我希望现在可以更容易理解 – Dani