Dosyanın başına veri eklemenin bir yolu yoktur¹, tek yapabileceğiniz yeni bir dosya oluşturmak, ek verileri yazmak ve eski verileri eklemek. Bu yüzden ilk satırı eklemek için tüm dosyayı en az bir kez yeniden yazmak zorunda kalacaksınız. Ancak dosyayı yeniden yazmadan son satırı ekleyebilirsiniz.
sed -i '1i\'"$FirstLine" $Filename
echo "$LastLine" >>$Filename
Alternatif olarak, iki komutu bir adım sed'de birleştirebilirsiniz.
sed -i -e '1i\'"$FirstLine" -e '$ a\'"$Lastline" $Filename
sed -i
yeni bir çıktı dosyası yaratır ve daha sonra eski dosyanın üzerine taşır. Bu, sed çalışırken, boş alan kullanan dosyanın ikinci bir kopyası olduğu anlamına gelir. Bunu , dosyanın üzerine yazarak , ancak büyük kısıtlamalarla yazarak önleyebilirsiniz : eklediğiniz satır, sed'nin arabelleğinden daha küçük olmalıdır ve sisteminiz çöktüğünde, zarar görmüş bir dosyayla sonuçlanır Orta, bu nedenle şiddetle tavsiye ederim.
¹ Linux'un bir dosyaya veri eklemek için bir yolu vardır, ancak yalnızca çok sayıda dosya sistemi bloğu ekleyebilir, isteğe bağlı uzunluklarda dizeler ekleyemez. Veritabanları ve sanal makineler gibi bazı uygulamalar için kullanışlıdır, ancak metin dosyaları için işe yaramaz.