cat file
1 a GYPA
2 b GYPA 002099.7:c.59
2 c GYPA 002099.7:c.71
2 d GYPA 002099.7:c.72
3 e GYPA 002099.7:c.59
4 f GYPA 002099.7:c.140
5 g GYPA 002099.7:c.68
У меня есть следующий файл, который я обрабатываю. Я хотел бы заменить четвертый столбец с выводом command <options> $4
следующим образом:
ОЖИДАЕМЫЙ ВЫХОД
1 a GYPA
2 b GYPA out1
2 c GYPA out2
2 d GYPA out3
3 e GYPA out4
4 f GYPA out5
5 g GYPA out6
, где out1 равен cmd <opts> '002099.7:c.59'
Это очень сложно с awk
, поскольку мне нужно использовать кавычки '002099.7:c.59'
, чтобы обернуть текст.
Я использовал:
t="\t"
while read -r a b c d
echo -e $a$t$b$t$c$t$(cmd opt $d);
done
Когда запись в 4-м столбце пуст (т. е. первая строка), я получаю сообщение об ошибке из cmd <opts>
. Есть ли более простая альтернатива этому, где я мог бы использовать номер столбца, кроме awk
?