อาจจะ
command 2> command.err | less; cat command.err; rm command.err
ภาคผนวก
ต่อไปนี้เป็นคำชี้แจงสำหรับชาวบ้านที่ละเลยที่จะอ่านคำถามอย่างรอบคอบและผู้ที่ไม่ได้อ่านความคิดเห็นที่ชัดเจนของ OP ข้างต้น
haelix ชี้:
บรรทัด stderr ตามปกติจะได้รับการจดทะเบียนในระหว่างบรรทัด stdout ภายในน้อย
และในความคิดเห็นสำหรับผู้ตอบเร็วเขียนว่า:
คุณกำลังบอกวิธีเปลี่ยน stderr ไปยัง stdout แต่นั่นไม่ใช่สิ่งที่ฉันต้องการ ฉันไม่ต้องการให้ stderr ผสมกับ stdout ภายในน้อยลง ฉันต้องการ stderr ที่จะอยู่ในสถานีเมื่อฉันออกน้อย
ปัญหาน่าจะเป็นแพลตฟอร์มเฉพาะมันเป็นสิ่งที่ฉันได้พบบนแพลตฟอร์ม Unix SVR4 รุ่นเก่าอย่างแน่นอน
หากบนแพลตฟอร์มดังกล่าวคุณทำสิ่งที่ชอบ
find / ... | less
ข้อความแสดงข้อผิดพลาดใด ๆ (เช่นการอนุญาตไดเรกทอรี) ปรากฏเช่นนี้น้อย
stdout line 1
stdout line 2
error message text
stdout line 4
ดังนั้นบรรทัดเอาต์พุตจะถูกบดบังด้วยข้อความแสดงข้อผิดพลาด
หากคุณรีเฟรชหน้าเพจบรรทัดเอาต์พุตจะแสดงอย่างถูกต้อง แต่คุณสูญเสียข้อความแสดงข้อผิดพลาด เมื่อคุณออกจากหน้าจอน้อยลงจะถูกล้างยกเว้นหน้าจอพร้อมรับคำสั่ง
ถ้าคุณทำสิ่งที่ชอบ
find / ... 2>&1 | less
ข้อความแสดงข้อผิดพลาดจะถูกรวมเข้ากับเอาต์พุตมาตรฐาน อีกครั้งเมื่อคุณออกน้อยหน้าจอจะว่างเปล่า
หากคุณต้องการตรวจสอบเอาต์พุตมาตรฐานเพียงครั้งแรกให้น้อยลงจากนั้นดูข้อความแสดงข้อผิดพลาดหลังจากออกน้อยกว่าคุณต้องมีวิธีแก้ไขปัญหาอื่น
นั่นคือสิ่งที่ฉันแนะนำอย่างไม่แน่นอนในคำตอบสองบรรทัดดั้งเดิมของฉัน