Использовать конвейер команд в качестве аргумента для diff

У меня возникли проблемы с этой простой задачей:

cat file | grep -E ^[0-9]+$ > file_grep
diff file file_grep

Проблема в том, что я хочу сделать это без file_grep

Я пробовал:

diff file `cat file | grep -E ^[0-9]+$`

и

diff file "`cat file | grep -E ^[0-9]+$`"

и несколько другие комбинации :-) но я не могу заставить его работать. Я всегда получаю сообщение об ошибке, когда diffполучает дополнительный аргумент, который представляет собой содержимое файла, отфильтрованного с помощью grep.

Что-то подобное всегда срабатывало у меня, когда я хотел echoвывести команду из скрипта, подобного этому (используя обратные апострофы):

echo `ls`

Спасибо

42
задан phs 24 July 2012 в 05:12
поделиться