Paano Upang Ipakita ang Naka-print na Mga Karakter ng File Sa Mga Strings Command

Sinubukan mo na bang buksan ang isang file sa isang editor lamang upang malaman na naglalaman ito ng hindi nababasa na binary na nilalaman?

Ang Linux "na mga string" ay ginagawang posible upang tingnan ang mga tao na nababasa na mga character sa loob ng anumang file.

Ang pangunahing layunin ng paggamit ng utos na "string" ay upang magawa kung anong uri ng file ang iyong hinahanap ngunit maaari mo ring gamitin ito upang kunin ang teksto. Halimbawa, kung mayroon kang isang file mula sa isang pagmamay-ari na programa na nagliligtas ng mga file sa isang kakaibang format ng binary maaari mong gamitin ang "mga string" upang i-extract ang teksto na iyong inilagay sa file.

Halimbawa ng Paggamit Ng Mga Strings Command

Ang isang mahusay na paraan upang maipakita ang kapangyarihan ng command string ay upang lumikha ng isang dokumento gamit ang LibreOffice Writer.

Buksan lamang ang LibreOffice Writer at magpasok ng ilang teksto at pagkatapos ay i-save ito sa karaniwang format ng ODT .

Ngayon buksan ang isang terminal window (pindutin ang CTRL, ALT at T sa parehong oras) at pagkatapos ay gamitin ang cat command upang ipakita ang file tulad ng sumusunod:

pusa yourfilename.odt | higit pa

(Palitan ang yourfilename.odt gamit ang pangalan ng file na iyong nilikha)

Ang makikita mo ay isang buong pader ng hindi nababasa na teksto.

Pindutin ang spacebar upang mag-scroll sa file. Sporadically sa buong file makikita mo ang ilan sa mga text na iyong ipinasok.

Ang utos ng mga string ay maaaring magamit upang ipakita lamang ang mga bahagi na nababasa ng tao.

Sa pinakasimpleng form nito maaari mong patakbuhin ang sumusunod na command:

string yourfilename.odt | higit pa

Tulad ng dati, lilitaw ang isang pader ng teksto, ngunit ang teksto lamang na maaari mong basahin bilang isang tao. Kung ikaw ay masuwerteng pagkatapos ay makikita mo ang iyong teksto.

Kung ano ang makikita mo na susi, gayunpaman, ay nasa unang linya:

mimetypeapplication / vnd.oasis.opendocument.text

Alam namin na ang uri ng file ay isang file ng LibreOffice Writer na ODT para sa 2 kadahilanan:

  1. Nilikha namin ang file
  2. Ang extension ay .ODT

Isipin na hindi mo nilikha ang file o nakita mo ang file sa isang nakuhang disk at ang file ay walang extension.

Ang pagbawi ng Windows ay madalas na mabawi ang mga file na may mga pangalan tulad ng 0001, 0002, 0003 atbp Ang katotohanan na ang mga file ay nakuha ay mahusay ngunit sinusubukan upang mag-ehersisyo kung ano ang mga uri ng mga file na iyon ay isang bangungot.

Sa pamamagitan ng paggamit ng mga string mayroon kang isang pagkakataon ng pakikipaglaban sa pag-eehersisyo ng uri ng file. Alam na ang isang file ay isang opendocument.text file ay nangangahulugang maaari mong i-save ito sa extension ng ODT at buksan ito sa LibreOffice na manunulat.

Kung sakaling hindi mo nalalaman ang isang ODT file ay karaniwang isang naka-compress na file. Kung palitan mo ang pangalan ng yourfilename.odt sa yourfilename.zip maaari mo itong buksan sa isang tool ng pag-archive at kahit na i-unzip ang file.

Mga Alternatibong Pag-uugali

Sa pamamagitan ng default ang mga string ng command ay nagbabalik ng lahat ng mga string sa loob ng isang file ngunit maaari mong ilipat ang pag-uugali upang bumalik ang mga string mula sa initialised, load na mga seksyon ng data sa isang file.

Ano ang ibig sabihin nito nang eksakto? Walang sinuman ang tila alam.

Makatuwirang ipalagay na gumagamit ka ng mga string upang subukan at alinman sa alamin ang uri ng file o upang maghanap ng partikular na teksto sa isang file.

Kung kapag pinatakbo ang mga utos na string gamit ang default na pag-uugali hindi mo makuha ang output na iyong inaasahan para sa pagkatapos ay subukan ang pagpapatakbo ng isa sa mga sumusunod na utos upang makita kung ito ay gumagawa ng isang pagkakaiba:

string -d yourfilename

string - data yourfilename

Sinasabi ng manu-manong pahina na ang utos sa itaas ay maaaring makatulong upang mabawasan ang dami ng basura na ibinalik mula sa mga string.

Ang "string" na utos ay maaaring itakda upang gumana nang baligtarin upang ang minus d switch ay ang default na pag-uugali. Kung ito ang kaso sa iyong system pagkatapos ay maaari mong ibalik ang lahat ng data sa pamamagitan ng paggamit ng sumusunod na command:

mga string -a yourfilename

Pag-format ng Output

Maaari mong makuha ang teksto sa loob ng output upang ipakita ang pangalan ng file sa tabi ng bawat linya ng teksto.

Upang gawin ito ay patakbuhin ang isa sa mga sumusunod na utos:

string -f yourfilename

string - print-file-name yourfilename

Ang output ay makikita ngayon ng ganito:

yourfilename: isang piraso ng teksto

yourfilename: isa pang piraso ng teksto

Bilang bahagi ng output maaari mo ring ipakita ang offset kung saan lumilitaw ang teksto sa isang file. Upang gawin ito patakbuhin ang sumusunod na command:

string -o yourfilename

Ang output ay magiging ganito:

16573 iyong

17024 na teksto

Ang offset ay aktwal na ang octal offset bagaman depende sa kung paano ang mga string ay naipon para sa iyong system maaari itong madaling maging hex o ang decimal offset pati na rin.

Ang isang mas tumpak na paraan ng pagkuha ng offset gusto mo ay ang paggamit ng sumusunod na mga utos:

string -td yourfilename

string-to yourfilename

string -th yourfilename

Ang minus t ay nangangahulugang ibalik ang offset at ang character na sumusunod ay tumutukoy sa uri ng pag-offset. (ie d = decimal, o = octal, h = hex).

Sa pamamagitan ng default ang mga string ng command print ang bawat bagong string sa isang bagong linya ngunit maaari mong itakda ang delimiter na iyong pinili. Halimbawa, gumamit ng simbolo ng pipe ("|") habang pinapatakbo ng delimiter ang sumusunod na command:

mga string -s "|" yourfilename

Ayusin ang Limitasyon ng String

Ang command string sa pamamagitan ng default na naghahanap para sa isang string ng 4 printable na mga character sa isang hilera. Maaari mong ayusin ang default upang magbabalik lamang ito ng isang string na may 8 napi-print na mga character o 12 napi-print na mga character.

Sa pamamagitan ng pagsasaayos ng limitasyong ito maaari mong maiangkop ang output upang makuha ang pinakamabuting posibleng resulta. Sa pamamagitan ng paghanap ng isang string na masyadong matagal mong panganib omitting kapaki-pakinabang na teksto ngunit sa pamamagitan ng paggawa ng ito masyadong maikli maaari mong end up na may higit pang basura ibinalik.

Upang ayusin ang limitasyon ng string patakbuhin ang sumusunod na command:

string -n 8 yourfilename

Sa halimbawa sa itaas binago ko ang limitasyon sa 8.

Maaari mong palitan ang 8 sa bilang na iyong pinili.

Maaari mo ring gamitin ang sumusunod na utos upang gawin ang parehong bagay:

string --bytes = 8 yourfilename

Isama ang Whitespace

Sa pamamagitan ng default, ang command string ay may kasamang whitespace tulad ng isang tab o espasyo bilang isang napi-print na character. Kaya't kung mayroon kang isang string na bumabasa ng "ang cat ay nakaupo sa banig" pagkatapos ang utos ng mga string ay babalik ang buong teksto.

Ang mga bagong linya ng character at pagbalik ng carriage ay hindi isinasaalang-alang na mai-print na mga character bilang default.

Upang makilala ang mga string upang makilala ang mga bagong linya ng character at ang pagbalik ng carriage bilang isang napi-print na mga character na run run sa sumusunod na paraan:

string -w yourfilename

Baguhin ang Encoding

Mayroong 5 pagpipilian sa pag-encode na magagamit para sa paggamit ng mga string:

Ang default ay 7 bit byte.

Upang palitan ang encoding patakbuhin ang sumusunod na command:

string -es yourfilename

string --encoding = s yourfilename

Sa utos sa itaas, tinukoy ko ang default na "s" na nangangahulugang 7 bit byte. Palitan lang ang "s" gamit ang encoding na sulat na gusto mo.

Baguhin ang Pangalan ng Paglalarawan ng File ng Binary

Maaari mong baguhin ang pag-uugali ng mga string upang gumamit ito ng ibang binary file descriptor library maliban sa isang ibinigay para sa iyong system.

Ang switch na ito ay isa para sa mga eksperto. Kung mayroon kang isa pang library na gagamitin pagkatapos ay magagawa mo ito sa pamamagitan ng pagpapatakbo ng sumusunod na mga utos na string:

string -T bfdname

Binabasa ang Mga Pagpipilian Mula sa Isang File

Kung gagamitin mo ang parehong mga pagpipilian sa bawat oras na pagkatapos ay hindi mo nais na upang tukuyin ang lahat ng mga switch sa bawat oras na patakbuhin mo ang command dahil ito ay tumatagal ng oras.

Ang maaari mong gawin ay lumikha ng isang text file gamit ang nano at tukuyin ang mga pagpipilian sa loob ng file na iyon.

Upang subukan ito sa loob ng terminal tumakbo ang sumusunod na command:

nano stringsopts

Sa file ay ipasok ang sumusunod na teksto:

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

I-save ang file sa pamamagitan ng pagpindot sa CTRL at O ​​at lumabas sa pamamagitan ng pagpindot sa CTRL at X.

Upang patakbuhin ang mga string ng mga utos sa mga pagpipiliang ito, patakbuhin ang sumusunod na command:

string @stringsopts yourfilename

Ang mga opsyon ay mababasa mula sa mga string ng file at dapat mong makita ang filename bago ang bawat string, ang offset at ang "|" bilang isang separator.

Humihingi ng tulong

Kung nais mong magbasa nang higit pa tungkol sa mga string maaari mong patakbuhin ang sumusunod na utos upang makakuha ng tulong.

string - tulong

Bilang kahalili maaari mo ring basahin ang manu-manong pahina:

mga string ng tao

Alamin ang Aling Bersyon ng Mga Hangganan na Tumatakbo Mo

Upang mahanap ang bersyon ng mga string na iyong pinapatakbo tumakbo ang isa sa mga sumusunod na utos:

mga string -v

mga string -V

string - pagbabagsak