Добавить строку суффикса в конец каждой строки?

У меня два файла:

file01:

line1 line2 line3 

file02:

 A B C 

И я хочу получить

 line1 A line2 B line3 C 

Я мог бы написать скрипт Perl, но лучше, если мне это не нужно.

Я попытался использовать очевидный grep -o '^' file02 >> file01

Но это производит

 line1 line2 line3 A B C 

Это должно быть просто, но не найти его в «man grep» (руководство для grep).

2 Solutions collect form web for “Добавить строку суффикса в конец каждой строки?”

Если все, что вы пытаетесь сделать, это «zip» два файла вместе, используйте команду paste

  paste -d ' ' file01 file02 

Как предложено @ 1-cr Команда paste – лучший способ сделать это. Вот некоторые другие варианты для завершения:

  1. Bash и файловые дескрипторы (адаптированы отсюда ):

     exec 3<file02 while read foo; do read -u3 bar; echo $foo $bar; done < file01 exec 3>&- 

    Здесь я создаю файловый дескриптор 3 который читает из file02 . Затем я использую параметр -u для чтения bar переменных из дескриптора файла 3 . Наконец, обычный цикл while считывает foo из file01 .

  2. Perl

     perl -ne 'BEGIN{open($fh,"file02");@a=<$fh>} chomp; print "$_ $a[$.-1]"' file01 
  3. awk / gawk

     gawk 'BEGIN{f=ARGV[1]} { if(FILENAME==f){a[FNR]=$0} else{print a[FNR],$0} }' file01 file02 
  • Добавление соответствующих номеров в диапазон
  • команда sed для удаления переменной количества строк
  • Как добавить текущую дату перед расширением файла для нескольких файлов в каталоге?
  • Вставка файла в другой файл с помощью sed
  • Рекурсивный поиск / замена, учет глубины каталога
  • sed заменить на backspace
  • лучший язык программирования для интенсивных задач ввода / вывода
  • awk в заявлении while
  • Самый быстрый инструмент `uniq` в linux
  • Техника для объединения групп последовательных линий, разделенных по шаблону
  • sed / awk заменяет определенный шаблон под другим шаблоном
  • Linux и Unix - лучшая ОС в мире.