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

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

cat file1 file2 

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

  • Повернуть список в одну строку с разделителем
  • Как вставить файлы с тем же именем из разных каталогов?
  • awk scripting для сканирования файлов для определенных слов и создания вывода
  • Как я могу разбить буквы слова с четырьмя буквами в строке?
  • Как отсортировать по 2 столбцам и сохранить верхнюю строку из каждой группы?
  • Перечисленная частота различных строк в отдельной колонке
  • Мне нужна file1 1-я строка, за которой следует первая строка file2 , а вторая строка file1 вторая строка file2 и т. Д.

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

  • Дублируйте, с небольшими изменениями, несколько строк в текстовом файле
  • Печать строк из одного файла, если их часть отображается в другом. Оба файла имеют длину в миллионы строк
  • Как найти и заменить значение столбца поля в UNIX
  • Как найти и переместить текстовую строку внутри файла?
  • Есть ли способ получить эффект объединения grep -v с grep -A?
  • Как сохранить «отступ» от перемещения фигурных скобок до следующей строки?
  • 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 - лучшая ОС в мире.