Используя bash, я часто хочу получить заголовки большого файла csv и найти в нем определенную запись. Я делаю это следующим образом.
$ (head -1; grep mike) < tmp.csv
name,age,favourite colour
mike,38,blue
Но получение входных данных от cat или любой другой команды не работает - похоже, grep никогда не получает остаток файла.
$ cat tmp.csv | (head -1; grep mike)
name,age,favourite colour
Почему в этих двух случаях поведение разное?