जवाबों:
बचाव के लिए यूनिक्स कमांड का डेयरडेविल dd!
dd if=yourfile ibs=1 skip=200 count=100
यह बाइट 200 से शुरू होती है और अगले बाइट्स में 100 या दूसरे शब्दों में, बाइट्स 200-300 को दर्शाती है। ibsइसका मतलब है कि dd केवल 512 बाइट्स के बजाय एक बार में एक बाइट पढ़ता है, लेकिन फिर भी डिफ़ॉल्ट 512 बाइट विखंडू में लिखता है। जाओ और देखो कि क्या ibsप्रदर्शन को नुकसान पहुँचाता है, मुझे आशा नहीं है।
आप उपयोग कर सकते हैं dd if=logfile of=pieceoflogfile skip=startingblock count=#ofblocks(संभवतः bs=1एक-बाइट ब्लॉक प्राप्त करने के लिए, अन्यथा यह 512 बाइट ब्लॉक का उपयोग करता है)। हालांकि एक बार में एक बाइट लिखने के लिए यह बताना कितना कुशल है, यह सुनिश्चित नहीं है।
ddके पाइप-जंजीर एक साथ हो सकते हैं (1 वसा टुकड़ा काट सकता है और दूसरा पाइप पर ठीक काम करेगा, डिस्क नहीं), लेकिन ddन केवल bsअलग बल्कि ibsऔर obsसाथ ही, इसलिए कम से कम यह पढ़ने की तुलना में बड़े ब्लॉक के साथ आउटपुट कर सकता है।
यह मानते हुए कि फ़ाइल बहुत बड़ी नहीं है (उदाहरण के लिए कई जीबी या तो), एक से दूसरे तक पाइपिंग करना जितना कुशल होगा, उतना कम करने के लिए अपना खुद का प्रोग्राम लिखना होगा।
head ... file | tail ...
(या आसपास का रास्ता। जो भी हो।)
time dd if=file.txt | wc -l= 00: 00: 03s।time dd if=file.txt ibs=1 count=782090815 | wc -l= 9:05:19