Вывод общих строк из 2 файлов и редких строк от обоих файлы в одном выходном файле

Я никогда не пробовал это сам, но я нашел эти детали о ArchLinux wiki. В статье, точно названной: Syslinux. Существует названный раздел: Chainloading другие системы Linux.

выборка

Chainloading другой загрузчик, такой как Windows довольно очевиден, как существует определенный загрузчик к цепочке к. Но с Syslinux, это только может загрузить файлы, находящиеся на том же разделе как конфигурационный файл. Таким образом, если у Вас есть другая версия Linux на отдельном разделе без общей начальной загрузки/, становится необходимо нанять Extlinux. По существу Extlinux может устанавливаться на суперблоке раздела и звониться как отдельный загрузчик от MBR установленный Syslinux. Extlinux является частью проекта Syslinux и включен с syslinux пакетом.

Так принятие Вас имеет систему с Grub2 как так:

  • /dev/sda3 (/)
  • /dev/sda2 (/boot)

Вы смонтировали бы их как так:

$ mount /dev/sda3 /mnt
$ mount /dev/sda2 /mnt/boot (only necessary for separate /boot)

Затем с extlinux установленный Вы делаете следующее:

$ extlinux -i /mnt/boot/syslinux
$ cp /usr/lib/syslinux/{chain,menu}.c32 /mnt/boot/syslinux

И создайте этот файл: /mnt/boot/syslinux/syslinux.cfg:

timeout 10

ui menu.c32

label Other Linux
    linux /boot/vmlinuz-linux
    initrd /boot/initramfs-linux.img
    append root=/dev/sda3 ro quiet


label MAIN
    com32 chain.c32
    append hd0 0

3
06.02.2016, 15:17
2 ответа

Для выполнения этой работы существует команда comm . Но вы можете сделать это, объединив другие стандартные инструменты, такие как grep , sort , uniq , join . Вот решение, использующее grep , с эквивалентным использованием comm .

Строки, общие для обоих файлов:

grep -xF -f file1 file2

comm -12 <(sort -u file1) <(sort -u file2)

Только строки в file1 :

grep -vxF -f file2 file1

comm -23 <(sort -u file1) <(sort -u file2)

Только строки в file2 :

grep -vxF -f file1 file2

comm -13 <(sort -u file1) <(sort -u file2)
5
27.01.2020, 21:09

Строки, общие для обоих файлов:

comm -12 file1.txt file2.txt > results.txt

Добавление строк, уникальных для file1.txt:

comm -23 file1.txt file2.txt >> results.txt

Добавление строк, уникальных для file2.txt:

comm -13 file1.txt file2.txt >> results.txt

Если файлы еще не отсортированы, вы должны сделать это заранее, например, если ваша оболочка поддерживает подстановку процесса

comm -12 <(sort file1.txt) <(sort file2.txt)

и т.д.

6
27.01.2020, 21:09

Теги

Похожие вопросы