да, есть специальная утилита sponge
либо в переменную:
foo="$( jq $pattern <$1 )"
echo "foo" > $1
(как-то так, не помню на память, умеет ли jq файлы читать)
спасибо, я сделал похожим образом тоже через переменную, по-моему получилось не плохо, даже не знал что можно подобный образом (как у вас) считывать файлы поэтому считываю его заранее в переменную