tail -c +32
ilk 31 baytı eksi girişiyle çıkarır. (Evet, bağımsız değişken birer birer kapalıdır.) Bir dosyayı yerinde düzenlemek için bir döngüde sünger kullanın ya da istemiyorsanız ve rahatsız etmek istemiyorsanız, işini kabukta yapın:
for x in /foo/*; do tail -c +32 "$x" | sponge "$x"; done
for x in /foo/*; do tail -c +32 "$x" >"$x.new" && mv "$x.new" "$x"; done
Komutlar herhangi bir nedenden ötürü kesilirse (örn. Elektrik kesintisi), kaldığınız yeri bulmak zor olabilir. Yeni dosyaları ayrı bir dizine yazmak işleri kolaylaştırır.
mkdir /foo.tmp
cd /foo
for x in *; do tail -c +42 -- "$x" >"/foo.tmp/$x" && rm -- "$x"; done
mv /foo.tmp/* /foo
rmdir /foo.tmp
Dosyalar gerçekten büyükse (olduğu gibi, tek bir tane bile iki kopyasına sahip olmak bir problemdir), bu iş parçasında bahsedilen tekniklerden birini kullanabilirsiniz .