Как чередовать строки двух или более файлов?

Я попытался получить два файла в одном файле. Я попытался выполнить команду:

cat file1 file2 

но здесь данные file2 добавляются к file1 .

Мне нужна file1 1-я строка, за которой следует первая строка file2 , а вторая строка file1 вторая строка file2 и т. Д.

Может ли кто-нибудь сказать мне, как сделать это простым способом?

  • Номер одной строки в каждом текстовом файле
  • В AWK можно указать диапазон для работы?
  • Получение двух полей из одной строки вместе
  • используя grep для отображения записей, которые соответствуют шаблону и присутствуют как минимум в X раз
  • Что означает «позиция» в сообщении об ошибке iconv?
  • Как найти позицию персонажа с помощью grep?
  • Вставить текст по определенному номеру строки
  • Проверить количество слов в файле, содержащем конкретную букву
  • 3 Solutions collect form web for “Как чередовать строки двух или более файлов?”

    Для этого есть приложение!

     $ cat file1 file1 line1 file1 line2 $ cat file2 file2 line1 file2 line2 

    Теперь, если вы передадите эти файлы в качестве аргументов для paste :

     $ paste -d' ' file1 file2 file1 line1 file2 line1 file1 line2 file2 line2 

    Если по «file1 1-й строке, за которой следует первая строка file2, а вторая строка file1, вторая строка второго файла и т. Д.», Вы имеете в виду, что вам нужна новая строка между каждой вставкой, просто скопируйте параметр -d (разделитель).

     $ paste -d'\n' file1 file2 file1 line1 file2 line1 file1 line2 file2 line2 

    POSIX Awk; это работает с произвольным количеством файлов, и файлы даже не должны иметь одинаковое количество строк. Сценарий продолжается до тех пор, пока все файлы не будут содержать строки:

     BEGIN { do { br = ch = 0 while (++ch < ARGC) if (getline < ARGV[ch]) { printf ch < ARGC - 1 ? $0 FS : $0 RS br = 1 } } while (br) } 
     paste -d '\n' file1 file2 > file3 

    где file1 и file2 являются входными файлами, а file3 будет создан.

    Linux и Unix - лучшая ОС в мире.