tail -c +32
output inputnya minus 31 byte pertama. (Ya, argumennya mati satu per satu.) Untuk mengedit file di tempatnya, gunakan spons dalam satu lingkaran, atau jika Anda tidak memilikinya dan tidak ingin repot, lakukan tugasnya di shell:
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
Jika perintah terputus karena alasan apa pun (mis. Kegagalan daya), mungkin sulit untuk mengetahui di mana Anda tinggalkan. Menulis file baru ke direktori terpisah akan membuat segalanya lebih mudah.
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
Jika file benar-benar besar (seperti pada, cukup besar yang memiliki dua salinan bahkan satu adalah masalah), Anda dapat menggunakan salah satu teknik yang disebutkan di utas ini .