कृपया शेल के लिए एक हेक्स संपादक की सिफारिश करें


64

क्या आप एक हेक्स संपादक की सिफारिश कर सकते हैं जो शेल से चलाया जा सकता है? मुझे न केवल सामग्री को देखने के लिए संपादित करने में सक्षम होना चाहिए।


1
मुझे लगता है कि आप इसे
दीपल

जवाबों:


24

emacs हेक्स संपादन के लिए एक हेक्स-मोड है।


4
हेक्स-मोड बड़ी फ़ाइलों या डिस्क विभाजन के लिए उपयुक्त नहीं है, क्योंकि यह पूरी फ़ाइल को एमएसीएस बफर में लोड करता है। यदि आप पहले से ही emacs के साथ सहज हैं, तो यह छोटी फ़ाइलों के लिए बहुत अच्छा है।
पीटर कॉर्ड्स

1
@PeterCordes, एक डिस्क ddको संपादित करने के लिए , बस वह क्षेत्र जिसे आप किसी फ़ाइल में संपादित करना चाहते हैं और उस emacs में खोलें, फिर ddवापस।
psusi

6
@psusi समस्या यह है, मुझे एक फ़ाइल को संपादित करने के लिए उस प्रयास पर नहीं जाना चाहिए
कोल जॉनसन

1
@ColeJohnson, हम किसी फ़ाइल को संपादित करने के बारे में बात नहीं कर रहे हैं; हम पूरी कच्ची हार्ड डिस्क को संपादित करने की बात कर रहे हैं।
Psusi

2
@psusi मेरी विंडोज मशीन पर, मैं HxD का उपयोग कर सकता हूं और किसी भी अन्य फाइल की तरह ही एक डिस्क खोल सकता हूं।
कोल जॉनसन

76
xxd

यह टूल सबसे अधिक उपलब्ध है जो मैंने इस प्रकार के कार्य के लिए पाया है (नवीनतम उबंटू और मैकओएस दोनों पर डिफ़ॉल्ट रूप से उपलब्ध)। जरूरत पड़ने पर -pआप दाईं ओर एससीआई पठनीय भाग को हटा सकते हैं और -rफ़ंक्शन का उपयोग करके आप रिवर्सी (ascii इनपुट को बाइनरी डेटा में बदल सकते हैं) कर सकते हैं। यहां कुछ सरल उदाहरण दिए गए हैं:

अस्सी के दृश्य के साथ हेक्स में परिवर्तित:

echo example | xxd

एक हेक्सडंप के साथ परिवर्तित (दाईं ओर कोई आस्की दृश्य):

echo example | xxd -p

एक हेक्सडंप से बाइनरी डेटा में परिवर्तित करना:

echo 746573740a | xxd -p -r

आप शेल स्क्रिप्ट में इसके साथ बहुत अधिक जटिल हो सकते हैं। मैंने वास्तव में विशिष्ट दृश्यों के लिए स्कैन करने के लिए इसे और "dd" का उपयोग किया है और एक पूर्वनिर्धारित फैशन में उन्हें शेल स्क्रिप्ट से कुछ भी नहीं बल्कि बैश dd, और का उपयोग करके संशोधित किया है xxd। आपको वास्तव में इसके लिए dd की आवश्यकता नहीं है क्योंकि आप किसी विशिष्ट स्थान पर "तलाश" कर सकते हैं और उस स्थान को लिख सकते हैं जो आपको आवश्यक है। इस दृष्टिकोण का सबसे बड़ा लाभ इसकी आसानी से स्क्रिप्ट योग्य है।


2
xxd डिफ़ॉल्ट रूप से Ubuntu 16.04 पर स्थापित किया गया लगता है, जो SWEET है! धन्यवाद!
ग्लेनपेटर्सन सेप

MacOS पर डिफ़ॉल्ट रूप से भी उपलब्ध है!
thom_nic

34

DHEX भी है

apt-cache show dhex

अलग मोड के साथ हेक्स संपादक आधारित ncurses

यह सिर्फ एक और हेक्स संपादक से अधिक है: इसमें एक विधा शामिल है, जिसका उपयोग आसानी से और आसानी से दो बाइनरी फ़ाइलों की तुलना करने के लिए किया जा सकता है। चूंकि यह ncurses पर आधारित है और यह उपयोग करने योग्य है, इसलिए यह किसी भी सिस्टम और परिदृश्य पर चल सकता है। खोज लॉग के उपयोग के साथ, आसानी से फ़ाइलों के विभिन्न पुनरावृत्तियों में परिवर्तनों को ट्रैक करना संभव है।

यदि आप vim या emacs से परिचित नहीं हैं, तो यह एक सीखने की अवस्था का ज्यादा हिस्सा नहीं लगता है।


3
केवल dhex imho के नीचे यह बाइट्स सम्मिलित / हटा नहीं सकता है। अन्यथा यह एक बहुत अच्छा कंसोल हैक्स संपादक है।
निकोली

जब मैं "dhex / path / to / big / file" चलाता हूं, तो मुझे "inputfile / path / to / big / file" को खोलने में त्रुटि मिलती है। मुझे dhex पसंद है और यह सामान्य आकार की फाइलों के लिए हर समय उपयोग करता है।
sondra.kinsey

@ sondra.kinsey: मैंने अभी अपनी 8GB रैम मशीन पर 20GB फ़ाइल की कोशिश की, और कोई समस्या नहीं हुई। यह Ubuntu 16.04 64 बिट पर, dhex 0.68-2build1 (amd64) के साथ है। तो यह काम करना चाहिए
शाम

@ mivk, मैंने ३ जीबी रैम के साथ Ubuntu १ with.०४ पर dhex_0.68-2build1_i386 का उपयोग कर ४४ जीबी फ़ाइल के साथ असफल प्रयास किया। hexedit और wxHexEditor बिना शिकायत के एक ही फाइल खोलते हैं।
sondra.kinsey

@ sondra.kinsey: शायद एक समस्या / बग जो dhex के 32 संस्करण और 4GB से अधिक फाइलों के साथ है?
mivk

26

आप vi / vim का उपयोग एक हेक्स संपादक के रूप में भी कर सकते हैं (इसे xxd कह सकते हैं)।

हेक्स मोड दर्ज करें:

:%!xxd

हेक्स मोड से बाहर निकलें:

:%!xxd -r

स्रोत: एक संपादक के रूप में vi का उपयोग करना


1
मुझे इससे सावधान रहना चाहिए। मैंने :%!xxdफ़ाइल में नए वर्ण (नई लाइन) जोड़ दिए हैं।
क़ाज़ी इरफ़ान

1
@iamcreasy ऐसा नहीं है xxdजो ऐसा करता है: बल्कि खुद विम।
रुस्लान

3
भूलना मत :set binary! अन्यथा, VIM फ़ाइल के अंत में लाइन-एंड (CR / LF / CRLF) जोड़कर फ़ाइल को दूषित करने की संभावना है (आपके पास क्या प्रारूप ( set ff=[mac/unix/dos]) के लिए सेट है )। यह निष्पादनयोग्य और डेटा बायनेरिज़ को तोड़ने की अत्यधिक संभावना है। और यह करता है। बहुत। यह सुनिश्चित करना कि VIM बाइनरी मोड में है, ऐसा होने से रोकेगा।
ब्रैडेन बेस्ट

8

मुझे पता है कि यह एक पुराना प्रश्न है, लेकिन मैं यहां सभी उत्तरों से असंतुष्ट था। मैं एक हेक्स संपादक की तलाश में था जिसने मुझे अपनी खुद की बाइनरी फाइलें (उर्फ इन्सर्ट मोड) बनाने की अनुमति दी और बहुत बड़ी फ़ाइलों को संभाल सके।

मुझे ट्वीक आया , जो इन दोनों आवश्यकताओं को पूरा करता है, साथ ही साथ ओपी भी।

  • Tweak इंसर्ट मोड का समर्थन करता है (विशेष रूप से उपयोगी नहीं है यदि आप एक निष्पादन योग्य फ़ाइल या एक फ़ाइल सिस्टम छवि का संपादन कर रहे हैं, लेकिन PNG जैसे अन्य फ़ाइल स्वरूपों में बेहद उपयोगी हो सकता है)।
  • आपके द्वारा संपादित की जा रही फ़ाइल के भीतर काटना, नकल करना और चिपकाना बेहद कुशल है। कोई फर्क नहीं पड़ता कि कितना बड़ा डेटा आप घूम रहे हैं - भले ही वह सीडी इमेज का 200Mb सेक्शन हो - टीक हमेशा ऑपरेशन को तुरंत प्रभावी रूप से करेगा।
  • Tweak इनपुट फ़ाइल के आलसी लोडिंग का समर्थन करता है: सीधे मेमोरी में यह सब चूसने के बजाय, यह बस याद रखता है कि संपादन बफर के कौन से हिस्से इनपुट फ़ाइल के कुछ हिस्सों की प्रतियां हैं और डिस्क पर फ़ाइल को संदर्भित करता है जब इसे आवश्यकता होती है। जब आप पूरी फाइल को पढ़ने के लिए सही मायने में जरूरत पड़ती है तो टीक को महत्वपूर्ण समय लेना पड़ता है। इस संपत्ति के साथ केवल दो संचालन खोज रहे हैं, और फ़ाइल के संशोधित संस्करण को डिस्क पर सहेज रहे हैं। बाकी सब कुछ तत्काल है।

हम्म, एक प्रोग्राम जो प्रत्येक गलत किए गए कीस्ट्रोक के साथ बफर को संशोधित करने के लिए तैयार है, और उपयोगकर्ता को निर्देश नहीं देता है कि कैसे (या बाहर निकलें) कार्यक्रम का उपयोग करें। नीरस "निकास" कमांड ईमैक के समान है ... लेकिन यह मेरे लिए पहली बार काम नहीं किया था, इसलिए मैंने इसे फिर से कोशिश करने से पहले बाकी सब कुछ करने की कोशिश की। मैंने दशकों पहले emacs को छोड़ दिया था, लेकिन सबसे महत्वपूर्ण कमांड याद रखें: Ctrl-X, Ctrl-C। यदि आप emacs पसंद करते हैं, तो आप पसंद कर सकते हैं tweak, लेकिन मेरे लिए यह अजीब था। अगर मुझे वास्तव में संपादन की आवश्यकता है तो मैं इसे फिर से आज़मा सकता हूँ। man tweakआदेशों के अवलोकन और सूची के लिए टर्मिनल से चलाएँ ।
लेम्बार्ट

@ लैम्बर्ट ट्वीक के इन्सर्ट मोड का पूरा बिंदु बफर को संशोधित करना है, इसलिए आपकी बात वास्तव में वहाँ मान्य नहीं है। साथ ही, आपको वैसे भी उपयोग करने से पहले मैन पेज को पढ़ना चाहिए। ऐसा नहीं करना और फिर शिकायत करना कि यह आपको नहीं बताता है कि बाहर कैसे निकलना है, सिर्फ आलसी है।
गोगेटे70

4

आशीर्वाद हेक्स संपादक एक द्विआधारी (हेक्स) संपादक है और वर्तमान में निम्नलिखित विशेषताएं प्रदान करता है:

  • बड़ी डेटा फ़ाइलों और ब्लॉक उपकरणों का कुशल संपादन।
  • बहुस्तरीय पूर्ववत करें - पुनः संचालन।
  • अनुकूलन डेटा दृश्य।
  • स्क्रीन पर फास्ट डेटा रेंडरिंग।
  • एकाधिक टैब।
  • तेजी से खोज और संचालन की जगह।
  • एक डेटा रूपांतरण तालिका।
  • उन्नत कॉपी / पेस्ट क्षमताएं।
  • फ़ाइल में चयन पैटर्न के मेल का हाइलाइटिंग।
  • प्लगइन आधारित वास्तुकला।
  • पाठ और HTML में डेटा का निर्यात (प्लगइन्स के साथ अन्य)।
  • डेटा पर बिटवाइज़ ऑपरेशन।
  • एक व्यापक उपयोगकर्ता पुस्तिका।

आप इसे यहां से हटा सकते हैं: http://packages.debian.org/sid/all/bless/download

इसे स्थापित करने के लिए, मैं कमांड लाइन के माध्यम से एक .deb फ़ाइल कैसे स्थापित करूँ?

और चाहिए?


10
प्रश्न एक कमांड लाइन संपादक के लिए पूछ रहा है।
Psusi

1
@psusi नहीं, ओपी ने एक हेक्स संपादक के बारे में पूछा जो शेल से चलाया जा सकता है , शेल / टर्मिनल के अंदर नहीं । इसे स्थापित होने के बाद कमांड का उपयोग करके शेल से चलाया जा सकता है। bless
रादु राईडेनु

33
ऐसा कुछ भी नहीं है जिसे आप शेल से नहीं चला सकते हैं; जब तक उसका मतलब कमांड लाइन नहीं होता, वह इसका उल्लेख नहीं करता।
Psusi

वास्तव में मैं "उबंटू हेक्स व्यूअर" खोज रहा था जिसका अर्थ है विंडो-आधारित दर्शक को ध्यान में रखते हुए और खोज साइट मुझे यहां ले आई। तो यह उत्तर वही था जो मैंने खोजा था।
किन्नूरनिवाण


2

यह एक का उपयोग करने के लिए सरल मर चुका है:

sudo apt-get install hexcurse

2

भी है ht। इसे स्थापित करें

sudo apt-get install ht

और फिर इसे टाइप करके चलाएं hte

मैं वास्तव में बड़ी फ़ाइलों / विभाजन के साथ कोशिश नहीं की है, हालांकि।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.