Используйте вывод двух greps с diff

Как улучшить следующий метод сравнения определенных строк (строк, начинающихся с "@") из двух файлов? Я уверен, что это можно сделать на одной линии и без смущающих временных файлов. Я новичок в Linux, так что легко на меня! Заранее спасибо.

grep "^@" myfile1 > temp1
grep "^@" myfile2 > temp2
diff temp1 temp2

Ответ 1

В Bash вы можете использовать <(...), который будет обрабатывать временные файлы (обычно реализованные как именованные каналы под капотом) для вас:

diff <(grep "^@" myfile1) <(grep "^@" myfile2)