स्ट्रिंग्स कमांडने फाईलचा प्रिंट करण्यायोग्य वर्ण कसा दर्शवावा?

आपण कधीही एडिटरमध्ये फाईल उघडण्यासाठी प्रयत्न केला आहे की हे न वाचण्यायोग्य बायनरी सामग्री आहे?

लिनक्स "स्ट्रिंग्स" कमांडमुळे मानवी वाचनयोग्य अक्षरे कोणत्याही फाईलमध्ये पाहणे शक्य होते.

"स्ट्रिंग्स" कमांड वापरण्याचा मुख्य हेतू म्हणजे आपण कोणत्या प्रकारचे फाईल पाहत आहात ते पाहणे आहे परंतु मजकूर वापरण्यासाठी आपण त्याचा वापर देखील करू शकता. उदाहरणार्थ, आपल्याकडे एखादा मालकीचा प्रोग्राम आहे ज्याने फाईली एका बायनरी स्वरूपात फाइल्स वाचवल्यास फाईलमध्ये ठेवलेले मजकूर काढण्यासाठी आपण "स्ट्रिंग्स" वापरू शकता.

उदाहरणार्थ स्ट्रिंग्स कमांडचे उपयोग

लिबर ऑफिस रायटरचा वापर करून डॉक्युमेंट तयार करण्यासाठी string ची कमांड दाखवण्याची एक उत्तम पध्दत आहे.

केवळ OpenOffice Writer उघडा आणि काही मजकूर प्रविष्ट करा आणि नंतर तो मानक ODT स्वरूपात सेव्ह करा.

आता टर्मिनल विंडो उघडा (एकाच वेळी CTRL, ALT आणि T दाबा) आणि नंतर खालीलप्रमाणे फाइल दर्शवण्यासाठी cat आदेश वापरा:

cat yourfilename.odt | अधिक

(Yourfilename.odt आपण तयार केलेल्या फाइलचे नाव बदला)

काय आपण पाहणार आहात अस्पष्ट मजकूर संपूर्ण भिंत आहे

फाइलमधून स्क्रॉल करण्यासाठी स्पेसबार दाबा. विशेषतः संपूर्ण फाईलमध्ये आपण प्रविष्ट केलेले काही मजकूर दिसेल.

स्ट्रिंग कमांड केवळ मानवी वाचनीय असलेले भाग प्रदर्शित करण्यासाठी वापरली जाऊ शकतात.

सोप्या स्वरूपात आपण खालील आदेश चालवू शकता:

स्ट्रिंग्स yourfilename.odt | अधिक

पूर्वीप्रमाणे, मजकूर एक भिंत दिसून येईल, पण आपण मानवी म्हणून वाचू शकता फक्त मजकूर. आपण भाग्यवान असाल तर आपण आपला मजकूर पाहण्यास सक्षम असाल.

की आपण हे पाहण्यासाठी सक्षम असेल काय, तथापि, पहिल्या ओळीत आहे:

एम-टाइप अपनावणी / vnd.oasis.opendocument.text

आपल्याला माहित आहे की फाईल टाईप दोन कारणांसाठी LibreOffice Writer ODT फाइल आहे.

  1. आम्ही फाइल तयार केली आहे
  2. विस्तार .odt आहे

कल्पना करा की आपण फाइल तयार केली नाही किंवा आपल्याला सापडलेल्या डिस्कवर फाइल आढळली आणि फाईलमध्ये एक एक्सटेंशन नाही.

विंडोज पुनर्प्राप्ती बहुधा 0001, 0002, 0003 इत्यादीसारख्या नावांसह फाईल्स वसूल करते. फाइल्स पुनर्प्राप्त केल्या जात असतं तरी पण त्या फाईल्सचे प्रकार काय एक दुःस्वप्न असतं हे काम करण्याचा प्रयत्न करत होते.

स्ट्रिंग्स वापरुन आपल्याला फाईल टाईप चालविण्याची एक संधी आहे. फाइल एक opendocument.text फाइल आहे हे जाणून घेतल्याने आपण ती ODT विस्तारासह सेव्ह करू शकता आणि LibreOffice Writer मध्ये उघडू शकता.

जर आपण नकळत आहात तर ओडीटी फाइल मुळात एक कॉम्प्रेस्ड फाईल आहे. आपण yourfilename.odt ला yourfilename.zip मध्ये पुनर्नामित केल्यास आपण ती एका संग्रहण साधनात उघडू शकता आणि फाईल अनझिप देखील करू शकता.

पर्यायी Behaviours

डीफॉल्टनुसार स्ट्रिंग कमांड सर्व स्ट्रिंग फाईलमध्ये परत करते परंतु आपण वर्तन स्विच करू शकता जेणेकरून ते फाइलमध्ये सुरुवातीच्या, लोडेड डेटा विभागांमधून स्ट्रिंग परत करेल.

याचा नेमका अर्थ काय आहे? कुणालाच माहित नाही.

हे गृहित धरते की आपण वापरण्यासाठी स्ट्रिंग वापरत आहात आणि एकतर फाइल प्रकार शोधण्यासाठी किंवा एखाद्या फाइलमध्ये विशिष्ट मजकूरासाठी शोधत आहात.

जर स्ट्रिंग्स कमांडला डिफॉल्ट वर्तन वापरून कार्यान्वित होत असेल तर तुम्हाला अपेक्षित आऊटपुट मिळत नाही, मग खालीलपैकी एका कमांडचा उपयोग करून पहा की तो एखादा फरक पडेल का ते पहा:

strings -d yourfilename

स्ट्रिंग --data yourfilename

मॅन्युअल पृष्ठात असे म्हटले आहे की वरील आदेश स्ट्रिंगमधून मिळलेल्या कचराची मात्रा कमी करण्यास मदत करू शकतो.

"स्ट्रिंग्स" कमांडला उलट कार्य करण्यासाठी सेट अप केले जाऊ शकते जेणेकरुन वजाबाकी स्विच हे डिफॉल्ट वर्तन असेल. जर हे आपल्या सिस्टमवर असेल तर आपण खालील आदेश वापरून सर्व डेटा परत करू शकता:

strings -a yourfilename

फॉर्मेटिंग आउटपुट

टेक्स्टच्या प्रत्येक ओळीच्या बाजूला फाईलचे नाव दाखवण्यासाठी आपण आऊटपुट आत मजकूर मिळवू शकता.

हे करण्यासाठी खालीलपैकी एक आज्ञा चालवा:

strings -f yourfilename

स्ट्रिंग्स --प्रिंटफाइल-नाव

आऊटपुट आता असे काहीतरी दिसेल:

yourfilename: मजकूर एक तुकडा

yourfilename: मजकूरचा दुसरा भाग

आऊटपुट भाग म्हणून आपण त्यात ऑफसेट प्रदर्शित करू शकता जिथे ती फाईलमधे दिसेल. असे करण्यासाठी खालील आदेश चालवा:

strings -o yourfilename

आऊटपुट असे दिसेल:

16573 आपला

17024 मजकूर

ऑफसेट प्रत्यक्षात ऑक्टल ऑफसेट आहे जरी आपल्या सिस्टमसाठी स्ट्रिंग कसे संकलित केले गेले यावर अवलंबून असले तरी हे सहजपणे हेक्स किंवा डेसिमल ऑफसेटही असू शकते.

आपण ऑफसेट मिळवण्याचा अधिक अचूक मार्ग खालील आज्ञा वापरणे आहे:

स्ट्रिंग्स -आ आपलाफिलनाव

string-yourfilename साठी

स्ट्रिंग्स -आ yourfilename

वजाबाकी म्हणजे ऑफसेटची परतफेड आणि खालील वर्णने ऑफसेट प्रकार निर्धारीत करतो. (म्हणजे डी = दशमान, ओ = ओक्टल, एच = हेक्स).

डिफॉल्ट द्वारे स्ट्रिंग्स कमांड प्रत्येक नवीन स्ट्रिंगला नव्या ओळीवर प्रिंट करते परंतु आपण आपल्या पसंतीच्या डिलीमीटरस सेट करू शकता. उदा. पाईप सिंबल वापरण्यासाठी ("|") ज्याप्रमाणे डीलीमीटरने खालील आज्ञा चालविली आहे:

स्ट्रिंग्स -स् "|" yourfilename

स्ट्रिंग मर्यादा समायोजित करा

स्ट्रिंग्स डीफॉल्टनुसार, एका ओळीत 4 प्रिंट करण्यायोग्य वर्णांची स्ट्रिंग पाहते. आपण डीफॉल्ट समायोजित करू शकता जेणेकरून ते केवळ 8 मुद्रणयोग्य वर्ण किंवा 12 प्रिंट करण्यायोग्य वर्णांसह एक स्ट्रिंग परत करेल.

ही मर्यादा समायोजित करुन आपण सर्वोत्तम शक्य परिणाम मिळविण्यासाठी आउटपुट तयार करू शकता. एक स्ट्रिंग शोधत आहात जी खूप लांब आहे आपल्याला उपयुक्त मजकूर वगळण्याची जोखीम आहे परंतु हे खूप लहान करून आपण अधिक जंक परत येऊ शकता.

स्ट्रिंग मर्यादा समायोजित करण्यासाठी खालील आज्ञा चालवा:

स्ट्रिंग्स -n 8 आपलेफिलीनाम

वरील उदाहरणामध्ये मी मर्यादा 8 वर बदलली आहे.

आपण आपल्या पसंतीच्या संख्येसह 8 पुनर्स्थित करू शकता.

आपण समान कमांडचा वापर करण्यासाठी खालील आदेश देखील वापरू शकता:

strings --bytes = 8 yourfilename

हिमस्थानक समाविष्ट करा

डिफॉल्ट द्वारे, स्ट्रिंग्समधे एक पाना किंवा स्पेस जसे प्रिंट करण्यायोग्य अक्षर म्हणून फ्रीस्पेस असतो. म्हणून जर आपल्याकडे "मांजर वर बसलेले कॅट" असे लिहिले असेल तर स्ट्रिंग कमांड संपूर्ण मजकूर परत करेल.

नवीन ओळ वर्ण आणि कॅरेज रिटर्न प्रिंट करण्यायोग्य वर्ण डिफॉल्टनुसार मानले जात नाहीत.

नवीन ओळ वर्ण ओळखण्यासाठी स्ट्रिंग मिळवण्याकरिता आणि कॅरिज खालील मार्गाने प्रिंट करण्यायोग्य वर्ण रन स्ट्रिंग म्हणून मिळवते:

स्ट्रिंग्स- w yourfilename

एन्कोडिंग बदला

स्ट्रिंगसह वापरासाठी 5 एन्कोडिंग पर्याय उपलब्ध आहेत:

डीफॉल्ट 7 बिट बाइट आहे.

एन्कोडिंग बदलण्यासाठी खालील आज्ञा चालवा:

स्ट्रिंग्स- yourfilename

स्ट्रिंग --encoding = s yourfilename

वरील कमांडमध्ये मी डिफॉल्ट "s" असा उल्लेख केला आहे जो म्हणजे 7 बिट बाइट. आपल्या आवडीच्या एन्कोडिंग अक्षरासह फक्त "s" पुनर्स्थित करा

बायनरी फाइल वर्णन नाव बदला

आपण स्ट्रिंगचे वर्तन बदलू शकता जेणेकरून ते आपल्या सिस्टीमसाठी प्रदान केलेल्या एकाहून वेगळी बायनरी फाइल डिस्क्रिप्टर लायब्ररी वापरेल.

हे स्विच तज्ञांसाठी एक आहे. जर आपल्याकडे वापरण्यासाठी दुसरी लायब्ररी असेल तर आपण खालील स्ट्रिंग कमांड चालवून करू शकता:

strings -T bfdname

फाइलमधून पर्याय वाचणे

जर आपण प्रत्येक वेळी समान पर्याय वापरणार असाल तर प्रत्येक वेळी आपण आदेश चालवताना सर्व स्विचेस निर्दिष्ट करण्याची आवश्यकता नाही कारण वेळ लागतो.

आपण काय करू शकता नॅनो वापरून मजकूर फाइल तयार करा आणि त्या फाइलमधील पर्याय निर्देशित करा.

हे टर्मिनलवर वापरून बघण्यासाठी खालील आदेश चालवा:

नॅनो स्ट्रिंगॉपेट्स

फाइलमध्ये खालील मजकूर प्रविष्ट करा:

-f -o -n 3 -s "|"

CTRL आणि O दाबून फाईल सेव्ह करा आणि CTRL आणि X दाबून बाहेर पडा.

या पर्यायांसह स्ट्रिंग कमांडस् चालवण्यासाठी खालील आदेश चालवा:

स्ट्रिंग्स @स्ट्रिंग्जची yourfilename

पर्याय फाइल स्ट्रिंगोपेट्समधून वाचले जातील आणि आपल्याला प्रत्येक स्ट्रिंगपूर्वी फाईलचे नाव दिसेल, ऑफसेट आणि "|" विभाजक म्हणून

मदत मिळवणे

आपण स्ट्रिंगविषयी अधिक वाचू इच्छित असल्यास आपण मदत मिळविण्यासाठी खालील आदेश चालवू शकता.

स्ट्रिंग - मदत

वैकल्पिकरित्या आपण मॅन्युअल पृष्ठ देखील वाचू शकता:

माणूस स्ट्रिंग

आपण कोणत्या स्ट्रिंगचे चालू ठेवले आहे ते शोधा

आपण चालवत असलेल्या स्ट्रिंगची आवृत्ती शोधण्यासाठी खालीलपैकी एक आज्ञा चालवा:

स्ट्रिंग- v

स्ट्रिंग- V

स्ट्रिंग - विरुद्धशन