问题可能微不足道。我想找到一种方法将输入文件名的一部分添加到由以下awk脚本生成的多个输出中。
脚本:
zcat $1 | BEGIN {
# the number of sequences per file
if (!N) N=10000;
# file prefix
if (!prefix) prefix = "seq";
# file suffix
if (!suffix) suffix = "fa";
# this keeps track of the sequences
count = 0
}
# skip empty lines at the beginning
/^$/ { next; }
# act on fasta header
/^>/ {
if (count % N == 0) {
if (output) close(output)
output = sprintf("%s%07d.%s", prefix, count, suffix)
}
print > output
count ++
next
}
# write the fasta body into the file
{
print >> output
}
$1
变量中的输入为30_C_283_1_5.9.fa.gz
脚本生成的输出文件是
myseq0000000.fa
,myseq1000000.fa
等等......
我想要输出
30_C_283_1_5.9_myseq000000.fa
,30_C_283_1_5.9_myseq100000.fa
....
期待在这方面提供一些意见。
答案 0 :(得分:0)
有一种方法可以从Awk脚本中引导输出: https://www.gnu.org/software/gawk/manual/html_node/Redirection.html