заменить строку в файле значением из другого файла

У меня есть два файла. Один из них определяет набор пар число-значение следующим образом (FiLea):

 1  asm
 2  assert
 3  bio
 4  bootasm
 5  bootmain
 6  buf
 7  cat
 8  console
 9  defs
10  echo

Другой файл содержит несколько пар значений, как показано ниже (FILEB):

bio types
bio defs
bio param
bio spinlock
bio buf
bootasm asm
bootasm memlayout
bootasm mmu
bootmain types
bootmain elf
bootmain x86
bootmain memlayout
cat types
cat stat
cat user

Я хочу написать скрипт, который заменяет значения в файле B их соответствующими номерами из файла A. Не имеет значения, генерирует ли он новый файл или изменяет существующий файл B.

Есть идеи? Спасибо

Ответы на вопрос(2)

Решение Вопроса
awk 'NR==FNR{a[$2]=$1;next}{$1=a[$1];}1' fileA fileB

далее} => Это верно, когда файл A обрабатывается. Создается ассоциативный массив, где индекс представляет собой 2-й столбец с 1-м столбцом в качестве значения.

{$ 1 = a [$ 1];} => После обработки второго файла замените 1-й столбец соответствующим значением, сохраненным в массиве.

1 => Напечатайте каждую строку.

Это может работать для вас (GNU sed):

sed 's|^\s*\(\S*\)\s*\(.*\)$|/^\2\\>/s//\1/|' fileA | sed -f - fileB

Ваш ответ на вопрос