tr on vanhaa koulua, se ei ota tiedostoja argumenteiksi joten sinun täytyy käyttää päätettä uudelleen ohjataksesi tiedoston stdin:n. Tämän takia tarvitset <tiedoston. Se ei myös kirjoita tiedostoihin minkä takia sinun täytyy käyttää tmptiedostoa>. Tr haluaa ajatella että kaikki tiedoston käsittely on päätteen tehtävä.
Sed tekee kaiken tämän sisäisesti, se ei editoi tiedostoa itsessään vaan se luo tilapäisen tiedoston jolla se sitten korvaa alkuperäisen. Mutta kaikki tämä on piilotettu käyttäjältä mikä tekee siitä yleisesti ymmärrettävimmän käyttää.
tiedostoille *; tee 'X' 'Y' <"$tiedosto"> tmptiedosto ; mv tmptiedosto "$tiedosto"; valmis