Как заменить поля из файла_А полями из файла_B

У меня есть файл вроде:

{&structure_name.field, sizeof(structure_name.field), &structure_name.field, sizeof(structure_name.field), TODO }, {&structure_name.field, sizeof(structure_name.field), &structure_name.field, sizeof(structure_name.field), TODO }, {&structure_name.field, sizeof(structure_name.field), &structure_name.field, sizeof(structure_name.field), TODO }, 

и еще один файл с тремя записями с двумя полями в каждой строке:

 123 fun1 456 sum_fun 789 multi_fun 

Я хочу написать краткую команду, которая даст мне что-то вроде ниже:

 {&structure_name.123, sizeof(structure_name.123), &structure_name.123, sizeof(structure_name.123), fun1 }, {&structure_name.456, sizeof(structure_name.456), &structure_name.456, sizeof(structure_name.456), sum_fun }, {&structure_name.789, sizeof(structure_name.789), &structure_name.789, sizeof(structure_name.789), multi_fun }, 

Не могли бы вы посоветовать, как это сделать?

One Solution collect form web for “Как заменить поля из файла_А полями из файла_B”

Вы можете попробовать что-то вроде этого:

 awk 'NR==FNR { a[2*NR] = $1; a[2*NR-1] = $1; b[2*NR] = $2; b[2*NR-1] = $2; next; } { gsub(/field/, a[FNR]); gsub(/TODO/, b[FNR]); print; }' patterns input 
  • Невозможно планировать задачи в crontab
  • Есть ли у традиционных vi (not vim) поддержка больших файлов?
  • Как отредактировать файл .gpg с vi?
  • vim: удалять строки перед курсором
  • Vi editor: Какой самый быстрый способ удалить несколько строк в файле?
  • Что такое «<Esc> Kv» в bash
  • Как перенести первую строку в конец файла?
  • Примечание и определение с помощью Vi: при запуске выделите теги и теги отображения в окне предварительного просмотра
  • Удалить из курсора в конец строки на VI
  • Могу ли я указать макет команды vsplit?
  • Режим Vi или режим emacs во всей системе
  • Почему Vi имеет несколько режимов?
  • Linux и Unix - лучшая ОС в мире.