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