В частности, я использую комбинацию >>
и tee
в пользовательском псевдониме для хранения новых обновлений Homebrew в текстовом файле, а также вывода на экране:
alias bu="echo `date "+%Y-%m-%d at %H:%M"` \
>> ~/Documents/Homebrew\ Updates.txt && \
brew update | tee -a ~/Documents/Homebrew\ Updates.txt"
Вопрос. Что делать, если я хочу добавить этот вывод в свой текстовый файл, то есть разместить его в начале файла, а не добавлять его в конец?
Edit1. Как сообщалось в ответах ниже, использование временных файлов может быть хорошим подходом, который по крайней мере частично помог мне:
targetLog="~/Documents/Homebrew\ Updates.txt"
alias bu="(brew update | cat - $targetLog \
> /tmp/out1 && mv /tmp/out1 $targetLog \
&& echo `date "+%Y-%m-%d at %H:%M":%S` | \
cat - $targetLog > /tmp/out2 \
&& mv /tmp/out2 $targetLog)"
Но проблема в том, что вывод в STDOUT (ранее сделанный возможным для tee), который я не уверен, может быть включен в этот подход tempfile...?