2014-11-19 4 views
0

У меня есть небольшая проблема с сравнением двух файлов с командой diff в сценарии оболочки. Скажем, у меня есть два ASCii файлы, FILE1.TXT и file2.txt, с содержанием:Команда Diff для двух файлов и выход на треть

FILE1.TXT

blah/blah2/content.fits/ 
blah3/blah4/content2.fits/ 
blah5/blah6/content3.fits/ 
blah7/blah8/content4.fits/ 

file2.txt

content.fits 
content2.fits 

Теперь я хотел бы сделать сравнение из двух файлов на основе расширений .fits, но выпишите вывод в файл ascii, сохраняя форматирование в файле file1.txt, то есть в этом конкретном примере выходной файл после сравнения этих двух должен дать:

blah5/blah6/content3.fits/ 
blah7/blah8/content4.fits/ 

любые идеи?

+0

, что именно вы хотите достичь? Команда diff покажет содержимое двух файлов, которые не являются общими. здесь, в вашем примере blah/blah/content.fits/и content2.fits не будут рассматриваться как общие. check diff command первый чувак. –

+0

Я предполагаю, что вы больше ищете шаблон, отличный от diff. – Dipto

+0

Является ли 'grep -vwf file2.txt file1.txt', что вы хотите? –

ответ

0

Вы можете использовать AWK, чтобы получить этот результат:

awk -F/ 'FNR==NR {a[$1];next} !($(NF-1) in a)' file2.txt file1.txt 
blah5/blah6/content3.fits/ 
blah7/blah8/content4.fits/ 
Смежные вопросы