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

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

Файл 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 

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

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' 
  • Когда я могу опустить символ точки, указывающий текущий каталог
  • Удалено / tmp случайно
  • Разделить содержимое файла в Linux
  • Замените UID известными строками при выполнении ls и подобных кодов
  • Как я могу объединить все файлы в каталоге вместе в одной операции с командной строкой?
  • Сравните существующий файл в двух разных каталогах, скопируйте, если не существует, иначе перезапишите его
  • Noip «Не удается найти файл конфигурации», но файл есть
  • Удалите все файлы в каталогах, кроме тех, чей путь указан в файле
  • Как получить список затронутых файлов между двумя точками времени?
  • Linux Mint 17.2 внезапно теряет доступ на запись в файловую систему
  • Как найти недостающие файлы между определенным диапазоном дат?
  • Как узнать недавно обновленные файлы
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.