Напоминает мне этот вопрос: Как вы можете использовать два конвейера в Bash?
Если вы находитесь на сессии bash, вы можете выполнить:
diff <cmd1 <cmd2
diff <(foo | bar) <(baz | quux)
с <
созданием анонимных именованных каналов - управляемых bash - поэтому они создаются и уничтожаются автоматически, в отличие от временных файлов.
Так что, если вам удастся изолировать две разные строки как часть команды (grep, awk, sed, ...), вы можете сделать, например, что-то вроде:
diff < grep string1 myFile < grep string2 myFile
(если вы предполагаете, что в вашем файле есть такие строки, как string1=very_complicated_value
и string2=another_long_and_complicated_value'
: не зная внутреннего формата вашего файла, я не могу порекомендовать точную команду)