7.18 comm - сравнить два отсортированных файла contents

7.18 comm - сравнить два отсортированных файла

Использование программы:
comm [option] file1 file2
предполагается, что оба вводных файла file1 и file2 уже являются отсортированными файлами. Без параметров option программа comm производит вывод в три колонки. Самая левая колонка состоит из строк, которые содержатся только в файле с именем file1. Колонка 2 (средняя) состоит из строк, которые содержатся только в файле с именем file2. Третья колонка состоит из строк, которые являются общими для файлов с именами file1 и file2. Колонки разделены знаками <TAB>.

Могут использоваться следующие значения параметров: -1, -2, -3, которые означают запрет печати соответствующей колонки (нумерация колонок - слева направо).

Один из примеров использования состоит в сравнении содержимого каталога или библиотеки. Например, вы хотите сравнить два похожих на первый взгляд каталога: /lib и /usr/lib


ls -1 /lib  > /tmp/L_lib

ls -1 /usr/lib > /tmp/l_usr_lib

comm /tmp/L_lib /tmp/l_usr_lib | less

end

У меня получился выводной файл размером 335 строк и я обнаружил только один

файл, который находился в обоих каталогах. Фрагмент вывода показан ниже \

egin{verbatim}

...

libc.a

libc.so

  libc.so.5

  libc.so.5.4.38

  libc.so.6

    libc5-compat

libc_nonshared.a

  libcom_err.so.2

  libcom_err.so.2.0

...

end{verbatom}

В третьей колонке оказался единственный файл с именем {	t libc5-compat}.

Естественно, что это ничего не говорит о содержании файла с данным именем в

разных каталогах.



Аналогичным образом можно сравнивать содержимое двух библиотек 

egin{verbatim}

ar -t /usr/lib/libc.a | sort > Dc

ar -t /usr/lib/libm.a | sort > Dm

comm Dc Dm

Показываем лишь фрагмент вывода

  s_ceill.o

s_chown.o

    s_copysign.o

    s_copysignf.o

    s_copysignl.o

  s_cos.o

  s_cosf.o

  s_cosl.o

Как видно имеются часть программ с именами, которые встречаются в обеих библиотеках. Как и в предыдущем примере, мы ничего не можем сказать о самих программах.


contents
Обновлено: 16.03.2015