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

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

cat file1 file2 

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

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

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

  • Изменение записей в файлах с фиксированной шириной
  • Как запустить скрипт для получения определенного содержимого файла
  • printf в сценарии оболочки can not do \ x% x
  • Как разбить текстовый файл на новые файлы
  • Удаление дубликатов каждого X числа строк
  • Подсчитайте количество строк в файлах, затем сравните, у которого больше (BASH)
  • Разделение файла на несколько файлов на основе значения 1-го столбца
  • Как распечатать все записи в файле 1, но обратите внимание на записи, которые не соответствуют файлу2?
  • 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 - лучшая ОС в мире.