Może
command 2> command.err | less; cat command.err; rm command.err
Uzupełnienie
Poniżej znajduje się wyjaśnienie dla ludzi, którzy zaniedbują uważne przeczytanie pytania i którzy nie przeczytali powyższego komentarza PO.
haelix wskazał:
linie stderr zwykle pojawiają się pomiędzy liniami stdout wewnątrz mniej
i w komentarzu do wczesnych odpowiedzi odpowiedział:
Mówisz mi, jak przekierować stderr na standardowe wyjście, ale nie tego chciałem. Nie chcę, aby stderr pomieszał się ze stdout w środku mniej. Chciałbym, aby stderr był w terminalu, kiedy opuszczam mniej
Problem prawdopodobnie dotyczy konkretnej platformy, z pewnością jest to coś, czego doświadczyłem na starszych platformach Unix SVR4.
Jeśli na takich platformach robisz coś takiego
find / ... | less
wszelkie komunikaty o błędach (np. uprawnienia do katalogu) wyglądają mniej więcej tak
stdout line 1
stdout line 2
error message text
stdout line 4
tak że linie wyjściowe są zasłonięte komunikatami o błędach.
Jeśli odświeżysz stronę, linie wyjściowe są wyświetlane poprawnie, ale tracisz komunikaty o błędach. Gdy wyjdziesz mniej, ekran zostanie wyczyszczony, z wyjątkiem wiersza polecenia.
Jeśli zrobisz coś takiego
find / ... 2>&1 | less
Komunikaty o błędach są mieszane ze standardowym wyjściem. Ponownie, gdy wyjdziesz mniej, ekran jest pusty.
Jeśli chcesz najpierw przejrzeć tylko standardowe wyjście w mniej, a następnie zobaczyć komunikaty o błędach po mniejszym wyjściu, potrzebujesz innego rozwiązania.
Właśnie to sugerowałem wstępnie w mojej oryginalnej, dwuwierszowej odpowiedzi.