ตัวเลือก '-o' มีอยู่แล้วในที่sortของรุ่นที่หกของยูนิกซ์
อย่างไรก็ตามฉันเห็นด้วยกับคุณว่ามันไม่ได้อยู่ในปรัชญา Unix uniqไม่มีตัวเลือกนั้น (และsortไม่มีตัวเลือก-u)
ใน PDP-11 ของฉันฉันใช้โปรแกรมขนาดเล็กที่จะใช้พารามิเตอร์เดียว:
renac whatever
หากwhateverมีอยู่แล้วมันจะเขียนทุกอย่างจาก stdin ไปเป็นไฟล์ชั่วคราวที่ถูกเปลี่ยนชื่อเป็นwhateverหลังจากอินพุต stdin แห้ง ด้วยวิธีนี้คุณสามารถไพพ์เอาต์พุตของคำสั่งใด ๆrenacแทนการเปลี่ยนเส้นทางไปยังชื่อไฟล์โดยไม่มีโอกาสเขียนทับอินพุต การแก้ปัญหาการเขียนทับในลักษณะนั้น IMHO นั้นสอดคล้องกับปรัชญาของ Unix มากกว่า
บางส่วนที่เพิ่มเติมในโปรแกรมคือ: ไม่เขียนทับไฟล์เอาต์พุตหากไม่มีสิ่งใดมาถึง stdin (เช่นผลลัพธ์ของการพิมพ์ผิดส่วนหนึ่งของ commandline) และอนุญาตให้ตัวเลือกผนวก stdin กับไฟล์ที่ระบุชื่อ
นี่เป็นหนึ่งในโปรแกรม C จริงตัวแรก (ถ้าไม่ใช่ก่อน) ที่ฉันทำ (สำหรับงานของฉันฉันส่วนใหญ่พัฒนาใน Pascal ในระบบนั้น)