运行.awk脚本时出错

时间:2015-03-25 15:07:33

标签: awk

我有一个awk脚本:

BEGIN { FS="_" }
/^>/ {
    id=$1;p=$2; wild=$3;subs=$4; c=$NF; next
}
{
    if (p-10<1) s=1
    else if (p+10>length($0)) s=length($0)-20
    else s=p-10
    print id"_"p"_"wild"_"subs">\n"substr($0,s,p-s) c substr($0,p+1,21-p+s)
}

当我跑步时,我得到以下内容:

$ cat test1.fasta | awk -f snp_flank.awk
bash: /usr/bin/awk: /usr/bin/awk: bad interpreter: Too many levels of symbolic links
这是什么意思?

额外信息:

$ ls -l /usr/bin/awk
lrwxrwxrwx 1 root root 21 2011-12-07 16:47 /usr/bin/awk -> /etc/alternatives/awk


$ head -n10 /usr/bin/awk
#!/usr/bin/awk -f

BEGIN { FS="_" }
/^>/ {
    id=$1;p=$2; wild=$3;subs=$4; c=$NF; next
}
{
    if (p-10<1) s=1
    else if (p+10>length($0)) s=length($0)-20
    else s=p-10

看起来我不小心用awk脚本替换了awk!抱歉!我该如何解决?只是重新安装awk排序这个?

1 个答案:

答案 0 :(得分:1)

您不小心覆盖了/usr/bin/awk

在您的系统上重新安装awk。

sudo apt-get install --reinstall gawk

sudo yum reinstall gawk

取决于您的系统。