我正在处理.gff3文件,试图删除目录中许多文件底部的重叠群序列。重叠群序列用##FASTA与文件的其余部分分开,我希望删除下面的所有内容(DNA序列,FASTA格式)。
此脚本适用于一个文件:
sed '/^##FASTA$/,$d' file1.gff > file1_altered.gff但是当我尝试将它应用于目录中的所有文件时,我失败了,如下所示:
for F in directory/input/*; do
N=$(basename $F) sed '/^##FASTA$/,$d' ${F} > directory/output/$N.gff
done感谢任何帮助!
发布于 2021-03-01 15:58:59
您在以下位置缺少分号
..。它的编写方式是它只有一次赋值,即
在重定向中使用时为空。
您可以避免使用
完全如果您使用shell的内置字符串处理:
删除最长的左侧匹配部分
..。
for F in directory/input/*; do
sed '/^##FASTA$/,$d' "${F}" > "directory/output/${F##*/}.gff"
donehttps://stackoverflow.com/questions/66418384
复制相似问题