फ़ाइल के लिए बाइट ऑफ़सेट होना।
क्या कोई उपकरण है जो इस बाइट के लिए लाइन नंबर देता है?
- बाइट की गिनती शून्य से शुरू होती है, जैसे: पहली बाइट 0 नहीं 1 है।
- 1 से शुरू होने वाली लाइन नंबर।
- फ़ाइल में सादा पाठ, "बाइनरी" ब्लॉब्स, मल्टीबाइट अक्षर आदि हो सकते हैं, लेकिन जिस खंड में मेरी रुचि है: फ़ाइल का अंत, केवल ASCII है।
उदाहरण, फ़ाइल:
001
002
003 <<-- first zero on this line is byte 8
004
बाइट ऑफसेट होने से 8
मुझे लाइन मिलेगी 3
।
लगता है मैं लाइन नंबर खोजने के लिए इस तरह से कुछ का उपयोग कर सकता है:
ए। tail -c+(offset + 1) file | wc -l
, यहाँ के +1
रूप में tail
1.
बी से मायने रखता है । wc -l file
सी। फिर tail -n+num
कहां num
हैa - b + 1
लेकिन ... क्या एक बहुत, सामान्य उपकरण है, जो मुझे num
सीधे दे सकता है ?
संपादित करें, गलत: या अधिक स्पष्ट:
head -c+offset file | wc -l
0x0a
बाइट्स द्वारा अलग किए गए डेटा हैं ।
:echo byte2line(offset+1)
:।
vim -b
और vim
+ set binary
खुली फ़ाइल के साथ भी यह दूषित हो गया। (आह। अचानक मुझे याद है कि कौन सा प्लगइन इसे गड़बड़ करता है)। लेकिन, वैसे भी, जैसा कि मैं बैचों में इसका उपयोग करता हूं और स्क्रिप्ट की एक श्रृंखला के संयोजन में विम को जल्दी छोड़ दिया गया था। लेकिन +1 वैसे भी।
0xa
कहीं भी हो सकती है। एक बाइनरी फ़ाइल में लाइनों की अवधारणा अर्थहीन है।