Сценарий, который выполняется без явного интерпретатора, должен быть исполняемым и иметь правильную строку #!
-.
Если строки#!
-нет или она не является исполняемой, необходимо выполнить скрипт с помощью интерпретатора, как в
sh /path/to/script.sh
Вы также должны проверить код возврата из execl()
, чтобы убедиться, что вызов не удался. Если это не удалось, вы можете использовать perror()
для печати сообщения об ошибке. См. руководство для perror
вашей системы.
Сawk
:
awk '$9==""{next} # skip if $9 is empty
{
id=substr($9,4,11) # get the id
name="" # set empty name as default
idx=index($9,"Name=") # get index of `Name=`
if (idx){ # if index is not zero
name=substr($9,idx) # substring name from idx
sub(/;.*/,"",name) # and remove `;` and everything after
}
print "Symbols "id" correspond to "name
}' PMZ_genes.gff3.txt
Выход:
Symbols PMZ_0036570 correspond to Name=Slc6a18
Symbols PMZ_0036570 correspond to Name=Slc6a18
Symbols PMZ_0036570 correspond to
Symbols PMZ_0036570 correspond to
Symbols PMZ_0036570 correspond to
Symbols PMZ_0036570 correspond to
Symbols PMZ_0041002 correspond to Name=Shh
Symbols PMZ_0041002 correspond to Name=Shh
Symbols PMZ_0041002 correspond to
Symbols PMZ_0041002 correspond to
Symbols PMZ_0041002 correspond to
Symbols PMZ_0041002 correspond to
Symbols PMZ_0041002 correspond to
Symbols PMZ_0041002 correspond to
Symbols PMZ_0041003 correspond to Name=SHH
Symbols PMZ_0041003 correspond to Name=SHH
Symbols PMZ_0041003 correspond to
Symbols PMZ_0041003 correspond to
Symbols PMZ_0041003 correspond to
Symbols PMZ_0041003 correspond to
Symbols PMZ_0041003 correspond to
Symbols PMZ_0041003 correspond to
Symbols PMZ_0036800 correspond to Name=SLC6A19
Symbols PMZ_0036800 correspond to Name=SLC6A19
Symbols PMZ_0036800 correspond to
Symbols PMZ_0036800 correspond to
Symbols PMZ_0036800 correspond to
Symbols PMZ_0036800 correspond to
Symbols PMZ_0036800 correspond to
Symbols PMZ_0036800 correspond to
Symbols PMZ_0036800 correspond to
Symbols PMZ_0036800 correspond to
Symbols PMZ_0033056 correspond to Name=cut14
Symbols PMZ_0033056 correspond to Name=cut14
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0033056 correspond to
Symbols PMZ_0048065 correspond to Name=CUTC
Symbols PMZ_0048065 correspond to Name=CUTC
Symbols PMZ_0048065 correspond to
Symbols PMZ_0048065 correspond to
Symbols PMZ_0048065 correspond to
Symbols PMZ_0048065 correspond to
Symbols PMZ_0048065 correspond to
Symbols PMZ_0048065 correspond to
Symbols PMZ_0048065 correspond to
Symbols PMZ_0048065 correspond to
Symbols PMZ_0048065 correspond to
Symbols PMZ_0048065 correspond to
Symbols PMZ_0048065 correspond to
Symbols PMZ_0048065 correspond to
Symbols PMZ_0048065 correspond to
Symbols PMZ_0048065 correspond to
Symbols PMZ_0048065 correspond to
Symbols PMZ_0048065 correspond to
Symbols PMZ_0048065 correspond to
Альтернатива awk
awk '{
for (i=1; i<=NF; i++)
if ($i ~ /ID=PMZ_/) printf "Symbols %s correspond to ", substr($i,4);
else if ($i ~ /Name=/) printf $i;}{i=NF;printf "\n";
}' <(sed "s/[;-]/ /g" file)