我试图以这种方式用awk将行添加到一些新文件中:
#!/usr/bin/awk -f
BEGIN {
FS = "[ \t|]"; }
{
print $5 "\t" $13 "\t" $14 >> "./bed/" $5 ".bed";
}
END {
}
使用从awk输入文件(第5个字段)的字段派生的文件名创建新文件。我无法执行此脚本,因为它失败并带有
awk: ./blast2bed.awk:6: (FILENAME=blastout000 FNR=1) fatal: can't redirect to `./bed/AY517392.1.bed' (No such file or directory)
任何提示?
由于
答案 0 :(得分:2)
目录bed
必须存在,因此在运行脚本之前或mkdir bed
块中首先使用BEGIN
创建目录。您还应该在输出文件周围添加括号:
print $5"\t"$13"\t"$14 >> ("./bed/"$5".bed")
注意:如果每行有一个语句且;
和BEGIN
块是可选的,则不需要使用END
结束行。