Как выдержать сравнение, вывод “главной” команды относился к двум различным файлам?

Я хочу к разности вывод head команда относилась к двум отдельным файлам:

diff <(head -n 1 file1.csv) <(head -n 1 file2.csv)

Я получил структуру команды от подобного вопроса: Как делают меня разность вывод двух команд?

Но все, что произошло, - то, что верхние строки каждого файла были распечатаны. Таким образом, я не уверен, является ли это diffing или нет. Я читаю вывод правильно?

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

0
задан 20 August 2018 в 00:43

2 ответа

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 

См. также вывод разности Понимания

3
ответ дан 28 October 2019 в 03:00

Если вывод diff не достаточно ясно, рассмотрите использование более усовершенствованного инструмента, как комбинация или мой выбор человека: vimdiff. Используя подобный пример как @Sergiy, это - то, что Vimdiff показывает мне:

enter image description here

Как видно, выделяется посторонний пробел. Более усовершенствованное различное выделение может быть получено с помощью плагина DiffChar (см. мое сообщение на Vi & Vim SE для примера).

3
ответ дан 28 October 2019 в 03:00

Другие вопросы по тегам:

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