tail -c +32
पहले 31 बाइट्स में इसके इनपुट माइनस को आउटपुट करता है। (हाँ, तर्क एक बंद है।) किसी स्थान पर फ़ाइल को संपादित करने के लिए, लूप में स्पंज का उपयोग करें , या यदि आपके पास नहीं है और परेशान नहीं करना चाहते हैं, तो शेल में अपना काम करें:
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
यदि किसी भी कारण से कमांड को बाधित किया जाता है (जैसे कि एक बिजली की विफलता), तो यह पता लगाना मुश्किल हो सकता है कि आपने कहाँ छोड़ा था। एक नई निर्देशिका को अलग निर्देशिका में लिखने से चीजें आसान होंगी।
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
यदि फ़ाइलें वास्तव में बड़ी हैं (जैसे कि, इतनी बड़ी है कि एक भी एक की दो प्रतियां होने से समस्या है), तो आप इस धागे में वर्णित तकनीकों में से एक का उपयोग कर सकते हैं ।