разность объединила вывод; подавить @@ строки?

При использовании разности, там способ подавить первые две строки (перечисляющий имена файлов и времена) и все начало строк @@ в выводе? Все, что я хочу, является строками, которые показывают, что удалить и что добавить.

Вот команда, которую я в настоящее время имею:

diff file1 file2 -U 0 > output.txt

Демонстрационный вывод того, что я вхожу в файл output.txt с той командой:

--- file1   2010-11-25 01:56:58.856462432 -0500
+++ file2   2010-11-25 01:57:20.100626348 -0500
@@ -145,2 +145 @@
-VI2
-US3
+VI4
@@ -168,2 +167,2 @@
-56VI
-56PR
+57VI
+57PR

[править]: кем бы ни это было, это добавило команду коммуникации, это на самом деле закончило тем, что было корректно. Я буду награждать Вас ответом, если Вы отправите его назад.

1
задан 25.11.2010, 10:01

2 ответа

Это закончило тем, что было решением, с которым я пошел:

comm -1 -3 --nocheck-order 'path/file.csv' 'path/file2.csv' > 'path/added.txt'
comm -2 -3 --nocheck-order 'path/file.csv' 'path/file2.csv' > 'path/removed.txt'
0
ответ дан 12.12.2019, 13:04
diff file1 file2 -U 0 | tail +3 | grep -v "^@@" > output.txt

Эта версия имеет то же diff команда Вы имеете, но разделяет первые две строки с tail (начинающий с третьей строки) и выводы только строки, не имеющие "@@" вначале.

2
ответ дан 12.12.2019, 13:04

Теги

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