Помогите пожжалуйста есть прога tail -f log.txt | grep "error" > er.txt однако файл er.txt пустой как я понял проблема в том что tail -f и grep не дружат grep не может считать stdout от tail вопрос: что делаь?
Это пайп. До тех пор, пока tail -f не отработает до конца на вход grep ничего не поступит. А так как tail -f до конца принципиально не отработает - работать это не будет. Замени tail -f на cat и всё.
> Это пайп. До тех пор, пока tail -f не отработает до конца на вход grep ничего не поступит.
Только не говори мне, что при распаковке N-гигабайтного архива gzip -dc archive.tar.gz |tar x, он "прячется" где-то в пайпе прежде чем попасть в tar.
На самом деле, tail -f file |grep pattern работает, но совсем для других целей, нежели просто отгрепать файл целиком. Я, например, использую такую штуку, чтобы следить за логом определенного процесса, при том, что в лог еще много всякой фигни сыплется.
Просто отгрепать один файл в другой: "grep error log.txt >err.txt" или "grep error <log.txt >err.txt"