Я хочу использовать diff
для сравнения текстового файла с выводом программы.
Я понимаю, что могу перенаправить вывод программы в файл, а затем сравнить 2 файла, но мне было интересно, можно ли сделать это так:
diff file1.txt ./myprog 1 2 3
В bash
(и подобные оболочки, которые поддерживают его) можно использовать замену процесса
Напр. данный
$ cat file
foo
bar
baz
затем
$ diff file <(sed 2d file)
2d1
< bar
В этом случае программа sed
и аргументы 2d
и file
В оболочках, которые не поддерживают замену процесса с тех пор diff
признает, что стандарт ввел Вас, мог сделать ./myprog 1 2 3 | diff file1.txt -