Egy dologra nagyon figyelj - bár ezt nyilván tudod -, nehogy megnyitsd írásra a szerkesztendő file-t shellből, mert azonnal létrehozza nulla hosszúságúra, s így törli a file-t.
Rossz:
./modosit valami.c >valami.c
Jó:
./modosit valami.c >valami.c.tmp
mv -f valami.c.tmp valami.c
Persze bele lehet rakni az mv -f parancsot is a scriptbe, vagy lehet azt is csinálni, hogy az egész file-t egyetlen stringben, RAM-ban összegyűjti, majd a végén egyszerre kiírja, persze, ha a file-ok reális méretűek, s néhány megabyte-nál nem nagyobbak.