Ваше понимание не совсем верно. В a | b
выход stdout процесса a
соединен через трубу с stdin процесса b
. Проблема с вашим кодом заключается в том, что при дополнительном перенаправлении с somefile
на процесс b
вы будете использовать два разных метода одновременно для подключения к stdin процесса b
. Не делайте этого! Вопрос в том, чего Вы пытаетесь достичь (с такой конструкцией) в первую очередь?
Попробуйте что-то вроде
wget -qO- http://www.google.com/ | tr " " \\n | fgrep src= | tr \" \\n | fgrep -v src=
, который, однако, вывод URL-адреса, поскольку они написаны в файле - что может быть относительно базового URL.