2015-03-25 5 views
1

У меня есть сценарий 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

Что такое '/ usr/bin/awk' в этой системе? Что говорят 'file/usr/bin/awk' и' head -n1/usr/bin/awk'? –

+1

Что является результатом команды: 'ls -l/usr/bin/awk'? Является ли этот файл символической ссылкой на другой файл? Я думаю, что есть петля связи. –

+0

Кажется, я перезаписал awk-программу с помощью своего awk-скрипта !! как это случилось, я не знаю. была бы простая переустановка работы awk? – brucezepplin

ответ

1

Вы случайно перезаписали /usr/bin/awk.

Установите awk на свою систему.

sudo apt-get install --reinstall gawk 

или

sudo yum reinstall gawk 

в зависимости от вашей системы.

Смежные вопросы