Можно ли использовать тот же входной файл, что и для вывода команды по каналу?

Рассмотрим что-то вроде:

cat file | command > file

Это хорошая практика? Может ли это перезаписать входной файл в то же время, когда мы его читаем, или он всегда сначала читается в памяти, а затем передается второй команде?

Очевидно, что я могу использовать временные файлы в качестве промежуточного шага, но мне просто интересно ..

t=$(mktemp)
cat file | command > ${t} && mv ${t} file

Ответы на вопрос(3)

Ваш ответ на вопрос