wolverine777
@wolverine777

Как написать скрипт который делает таблицу из 2х переменных?

Привет, не могу понять почему не получается конечная таблица из 2х переменных

#!/bin/bash
# Вытаскиваем Name
name=`awk '{print $9}' PMZ_genes.gff3.txt | grep -oP ";\KName=[^;]+" | uniq`

# Каждому набору символов в строке должно соответствовать имя name
for pmz in `awk '{print $9}' PMZ_genes.gff3.txt | cut -c4-14 | uniq`
do
        echo "Symbols $pmz correspond to $name"
done


Каждый раз повторяется весь список name, а хотелось бы чтобы получилась таблица по типу:

Symbols PMZ0001 correspond to Name=One
Symbols PMZ0002 correspond to Name=Two
Symbols PMZ0003 correspond to Name=Three

А получается пока

Symbols PMZ0001 correspond to Name=One
Name=Two
Name=Three

Symbols PMZ0002 correspond to Name=One
Name=Two
Name=Three

Что-то напутал с циклами кажется... Помогите пожалуйста разобраться.
Спасибо
  • Вопрос задан
  • 100 просмотров
Решения вопроса 1
@q27off
names=`awk '{print $9}' PMZ_genes.gff3.txt | grep -oP ";\KName=[^;]+" | uniq`

for pmz in `awk '{print $9}' PMZ_genes.gff3.txt | cut -c4-14 | uniq`
do
        read -r
        echo "Symbols $pmz correspond to $REPLY"
done <<< "$names"


Если количество имен меньше количества записей в переменной pmz, то процесс будет заблокирован, ожидая данные из stdin. Также учтите, что данные из переменных names и pmz должны быть согласованы.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы