Варіант '-o' вже був у sort
складі шостого видання Unix
Однак я згоден з вами, що це не входить у філософію Unix. uniq
не мав такого варіанту (іsort
тоді не мав -u
).
У моєму PDP-11 я використовував невелику програму, яка брала б один параметр:
renac whatever
Якби воно whatever
вже існувало, воно записувало б все, від stdin до тимчасового файлу, на який було лише перейменованоwhatever
після висихання вводу stdin. Таким чином, ви можете передавати вихід будь-якої команди, renac
а не перенаправляти на ім'я файлу без шансу перезаписати вхід. Таким чином, вирішуючи проблему перезапису, IMHO більше відповідає філософії Unix.
Дещо пізнішими доповненнями до програми були: не перезапис вихідного файлу, якщо нічого не надійшло на stdin (наприклад, результат неправильного введення частини командного рядка), а також можливість додати stdin до названого файлу.
Це була одна з перших (якщо не перша) реальна програма C, яку я створив (для роботи я в основному розроблявся в Паскалі в цій системі).