Як об'єднати два файли у відповідний рядок?


9

Тепер у мене два файли:

aaaa.txt:

a=0;
b=1;
c=2;

bbbb.txt:

d=3
e=4
f=5

Я хочу злитися aaaa.txtі bbbb.txtдо cccc.txt.

cccc.txt наступним чином:

a=0;d=3
b=1;e=4
c=2;f=5

Отже, що я можу зробити для цього?

Відповіді:


13

Для цього можна використовувати пасту:

paste -d '\0' aaaa.txt bbbb.txt > cccc.txt

З вашого запитання виходить, що перший файл містить ;кінець. Якщо цього не відбулося, ви можете використовувати це як роздільник, використовуючи -d ';'натомість.

Зауважте, що всупереч тому, що можна подумати, -d '\0'це не вставлення символу NUL як роздільника, а порожній роздільник. Це стандартний спосіб вказати порожній роздільник. Деякі pasteреалізації, такі як GNU, pasteдозволяють paste -d ''це зробити, але вони не є ні стандартними, ні портативними (багато інших реалізацій повідомлять про помилку щодо відсутнього роздільника, якщо ви використовуєте paste -d '').


@ Chris Down - Дуже дякую, він працює. До речі, ще одне питання: awk '{sed' s /.*,/ 999 / g '} cccc.txt чому він повертається awk: {sed s /.* , / 999 / g} awk: ^ синтаксична помилка. Що не так з ним?
binghenzq

Я не зовсім впевнений, що ти намагаєшся зробити, але ти не можеш просто передати сед, щоб пробудити так ...
Chris Down

@ Chris Down - Thans, я розумію.
binghenzq

Будь ласка, задавайте окремі питання, а також окремі запитання. Це робить їх корисними для пізніших користувачів (можливо знайти!).
vonbrand
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.