Я хочу к разности вывод head
команда относилась к двум отдельным файлам:
diff <(head -n 1 file1.csv) <(head -n 1 file2.csv)
Я получил структуру команды от подобного вопроса: Как делают меня разность вывод двух команд?
Но все, что произошло, - то, что верхние строки каждого файла были распечатаны. Таким образом, я не уверен, является ли это diffing или нет. Я читаю вывод правильно?
Как делают меня разность вывод head
команда относилась к двум различным файлам?
diff
предназначен для печати различных строк только. То, что Вы получили те строки, распечатало средства, они отличаются. Возьмите эти два в качестве примера:
# lines different, have output
$ diff <(head -n 1 /etc/passwd) <(head -n1 input.txt)
1c1
< root:x:0:0:root:/root:/bin/bash
---
> hello world
# same file, first lines aren't different, no output
$ diff <(head -n 1 /etc/passwd) <(head -n1 passwd.copy)
$
Обратите внимание на те даже малейшие изменения, должен быть обнаружен diff
, так, например, если я включаю единственный конечный пробел passwd.copy
те две первых строки больше не являются тем же, даже при том, что на первый взгляд они смотрят так:
$ diff <(head -n 1 /etc/passwd) <(head -n1 passwd.copy)
1c1
< root:x:0:0:root:/root:/bin/bash
---
> root:x:0:0:root:/root:/bin/bash
См. также вывод разности Понимания
Если вывод diff
не достаточно ясно, рассмотрите использование более усовершенствованного инструмента, как комбинация или мой выбор человека: vimdiff
. Используя подобный пример как @Sergiy, это - то, что Vimdiff показывает мне:
Как видно, выделяется посторонний пробел. Более усовершенствованное различное выделение может быть получено с помощью плагина DiffChar (см. мое сообщение на Vi & Vim SE для примера).