В частности, я использую комбинацию >>
и 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), который, я не уверен, можно включить в этот подход с временными файлами…?
echo `date...`
...date...
достаточно одного - person Peter.O   schedule 18.10.2011