Есть ли способ скомбинировать два файла?

У меня есть два файла с одинаковыми строками.

Файл A:

command 1{ some code lines } command 2 command 3 command 4{ some code lines } 

Файл B:

 command 5 command 3 command 1{ some code lines } 

Я хотел бы иметь окончательный файл, содержащий это:

 command 1{ some code lines } command 2 command 3 command 4{ some code lines } command 5 

Порядок строк не имеет значения. Существует ли для этого существующий инструмент (или команда)?

  • Удалять файлы в каталоге, которые также находятся в другом каталоге
  • Как сделать разделы в / home / user / writable пользователем?
  • Резервное копирование и восстановление прав доступа к файлам
  • Ошибка синтаксиса Openbox в ~ / .config / openbox / rc.xml
  • Разрешения группы неэффективны, разрешение все еще запрещено
  • Разделы и диски
  • Транспонирование трехмерного тензора, воспроизводимого файлами
  • сравнить данные в двух файлах, у одного есть 2 столбца, а в другом - 3 столбца
  • 3 Solutions collect form web for “Есть ли способ скомбинировать два файла?”

    Я понял, что это должен быть комментарий .

    Я не помню, есть ли один инструмент, который сделает это. Но ! Вы можете добиться точного эффекта, котаируя файлы, а затем используя sort и uniq для выполнения задания:

     cat AB | sort | uniq 

    Это сбрасывает содержимое обоих файлов вместе, затем сортирует строки и удаляет любые дубликаты.

    Результат:

     command 1 command 2 command 3 command 4 command 5 

    Я не знаю, что будет объединять файлы так, как вы показали. Большинство слияющих / различающихся инструментов работают, имея некоторый уровень контекста вокруг различных строк, чтобы инструмент знал, что 2 файла могут объединяться в разных местах.

    То, что вы показываете, не имеет реального контекста, поэтому я не вижу, как эти инструменты смогут это сделать.

    Вы могли бы сделать что-то вроде:

     sed -e 's/_/_u/g;s/%/_p/g;/{$/s/^/%/;/{$/,/}$/b' -e 's/^/%/' AB | tr '%\n' '\n%' | sort -u | tr '%\n' '\n%' | sed 's/%//g;s/_p/%/g;s/_u/_/g' 

    Если файлы не содержат символ % , вы можете упростить его:

     sed -e '/{$/s/^/%/;/{$/,/}$/b' -e 's/^/%/' AB | tr '%\n' '\n%' | sort -u | tr -d '\n' | tr % '\n' 
    Interesting Posts

    Прочитайте файл с использованием сценария оболочки и создайте 2 новых файла на основе Название элемента

    Как сначала просмотреть файлы и каталоги с каталогами

    Косвенно развернуть переменные в оболочке

    Окно без изменения размера на оболочке гнома

    Могу ли я читать и писать в тот же файл в Linux, не перезаписывая его?

    Как изменить программу по умолчанию для определенной системы расширения файлов в kde или xfce?

    Как я могу манипулировать подкаталогами в оболочке?

    Дескриптор файла, связанный с сокетом или каналом в proc

    почему eval не объявляет в функции работы в bash?

    Как сделать logrotate для копирования truncate исходный файл только после новой строки

    __modver_version_show undefined ошибка во время make

    Настройка проекта Kdevelop с символическими файлами, которые не видят настраиваемые пути.

    Отброшены пакеты в управлении трафиком, которые действительно упали?

    Как я могу сделать полноэкранные перекрестия, расположенные по указателю?

    Как выбрать пакет макросов groff?

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