Kijan Pou montre karaktè printable yon dosye a ak lòd la strings

Eske ou janm eseye louvri yon dosye nan yon editè sèlman yo chèche konnen ke li gen kontni binè lire?

Linux "strings" lòd la fè li posib pou wè karaktè moun-lizib nan nenpòt ki dosye.

Objektif prensipal la lè l sèvi avèk lòd la "strings" se nan travay soti ki kalite dosye li se ou ap chèche nan men ou ka tou itilize li nan ekstrè tèks. Pou egzanp, si ou gen yon dosye ki soti nan yon pwogram propriétaires ki sove dosye nan yon fòma binè etranj ou ka itilize "strings" ekstrè tèks la ou mete nan dosye a.

Egzanp Itilizasyon Kòmandman Strings yo

Yon bon fason yo demontre pouvwa a nan lòd la strings se yo kreye yon dokiman lè l sèvi avèk LibreOffice Writer.

Senpleman louvri LibreOffice Writer ak antre nan kèk tèks ak Lè sa a, sove li nan fòma a estanda ODT .

Koulye a, louvri yon fenèt tèminal (peze CTRL, ALT ak T an menm tan an) ak Lè sa a, itilize lòd la chat yo montre dosye a jan sa a:

chat yourfilename.odt | plis

(Ranplase yourfilename.odt ak non dosye ou te kreye a)

Ki sa ou pral wè se yon miray antye nan tèks ilegal.

Peze bar la desann nan dosye a. Pafwa nan tout dosye a ou pral wè kèk nan tèks la ou te antre.

Ka lòd la strings dwe itilize yo montre jis pati yo ki moun ki lizib.

Nan fòm ki pi senp ou yo ou ka kouri lòd sa a:

strings yourfilename.odt | plis

Kòm anvan, yon miray nan tèks ap parèt, men se sèlman tèks ke ou ka li kòm yon imen. Si ou gen chans Lè sa a, ou yo pral kapab wè tèks ou a.

Ki sa ou yo pral kapab wè ke se kle, sepandan, se sou liy lan an premye:

mimetypeapplication / vnd.oasis.opendocument.text

Nou konnen ke kalite a dosye a se yon LibreOffice Writer ODT dosye pou 2 rezon:

  1. Nou kreye dosye a
  2. Ekstansyon an se .ODT

Imajine ke ou pa te kreye dosye a oswa ou te jwenn dosye a sou yon ki gen kapasite refè ak dosye a pa t 'gen yon ekstansyon.

Windows rekiperasyon ta souvan refè dosye ak non tankou 0001, 0002, 0003 elatriye Lefèt ke dosye yo te refè se gwo men ap eseye travay deyò ki kalite sa yo dosye yo te te yon kochma.

Lè l sèvi avèk strings ou gen yon chans batay pou travay soti kalite a dosye. Lè ou konnen ke yon dosye se yon dosye opendocument.text vle di ou ka sove li ak ekstansyon an ODT epi ouvè l 'nan ekriven LibreOffice.

Nan ka ou te inyorans yon dosye ODT se fondamantalman yon dosye konprese. Si ou chanje non yourfilename.odt nan yourfilename.zip ou ka louvri li nan yon zouti achiv e menm ouvriers dosye a.

Konpòtman altènatif

Pa default lòd la strings retounen tout strings nan yon dosye, men ou ka chanje konpòtman an pou ke li retounen strings soti nan inisyalize, chaje done seksyon nan yon dosye.

Ki sa sa vle di egzakteman? Pèsonn pa sanble yo konnen.

Li fè sans nan asime ke w ap itilize strings eseye ak swa jwenn kalite a dosye oswa gade pou tèks espesifik nan yon dosye.

Si lè kouri lòd la strings lè l sèvi avèk konpòtman an default ou pa jwenn pwodiksyon an ou te espere pou Lè sa a, eseye kouri youn nan kòmandman sa yo yo wè si li fè yon diferans:

strings -d yourfilename

strings --data yourfilename

Paj manyèl la endike ke lòd ki anwo la a ka ede diminye kantite fatra tounen soti nan strings.

Ka "kòd" lòd la dwe mete kanpe nan travay nan ranvèse pou ke switch la mwens d se konpòtman an default. Si sa a se ka a sou sistèm ou a Lè sa a, ou ka retounen tout done yo lè l sèvi avèk lòd sa a:

strings -a yourfilename

Fòma Sòti

Ou ka jwenn tèks la nan pwodiksyon an yo montre non an nan dosye a ansanm ak chak liy nan tèks.

Pou fè sa, kouri youn nan kòmandman sa yo:

strings -f yourfilename

strings --print-file-name yourfilename

Pwodiksyon an pral kounye a gade yon bagay tankou sa a:

yourfilename: yon moso tèks

yourfilename: yon lòt moso tèks

Kòm yon pati nan pwodiksyon an ou ka tou montre konpanse nan kote tèks sa a parèt nan yon dosye. Pou fè sa kouri lòd sa a:

strings -o yourfilename

Pwodiksyon an pral gade yon bagay tankou sa a:

16573 ou

17024 tèks

Konfet a se aktyèlman octal konpanse byenke depann sou ki jan strings ki te konpile pou sistèm ou a li te kapab fasilman dwe hex la oswa konpansasyon an desimal kòm byen.

Yon fason ki pi egzak pou resevwa konpanse a ou vle se yo sèvi ak kòmandman ki annapre yo:

strings -td yourfilename

strings -to yourfilename

strings -t yourfilename

T a mwens vle di retounen konpansasyon an ak karaktè a ki swiv detèmine kalite a konpanse. (sa vle di d = desimal, o = octal, h = hex).

Pa default lòd yo strings simagri chak nouvo fisèl sou yon nouvo liy men ou ka mete delimiter a nan chwa ou. Pou egzanp yo sèvi ak yon senbòl tiyo ("|") kòm delimite a kouri lòd sa a:

strings -s "|" yourfilename

Ajiste Limit la chèn

Kòmandman strings pa default sanble pou yon fisèl nan 4 karaktè printable nan yon ranje. Ou ka ajiste default la pou ke li sèlman retounen yon fisèl ak 8 karaktè printable oswa 12 karaktè printable.

Pa ajiste limit sa a ou ka tayè pwodiksyon an jwenn pi bon rezilta posib. Pa kap chèche yon fisèl ki twò lontan ou risk omitting tèks itil men pa fè li twò kout ou ta ka fini ak byen lwen plis tenten retounen.

Pou ajiste limit la fisèl kouri lòd sa a:

strings -n 8 yourfilename

Nan egzanp ki anwo a mwen chanje limit la a 8.

Ou ka ranplase 8 ak kantite chwa ou.

Ou kapab tou itilize kòmandman sa a pou fè menm bagay la:

strings - bytes = 8 yourfilename

Mete Whitespace

Pa default, lòd la strings gen ladan blan espas tankou yon tab oswa espas kòm yon karaktè printable. Se poutèt sa, si ou gen yon fisèl ki li kòm "chat la chita sou kabann lan" Lè sa a, lòd la strings ta retounen tèks la tout antye.

Nouvo karaktè liy ak retounen cha pa konsidere kòm karaktè printable pa default.

Pou jwenn strings yo rekonèt karaktè liy nouvo ak retounen cha kòm yon karaktè print karaktè strings nan fason sa a:

strings -w yourfilename

Chanje kodaj la

Gen 5 opsyon kodaj ki disponib pou itilize ak strings:

Default la se 7 bit byte.

Pou chanje kodaj la kouri lòd sa a:

strings -es yourfilename

strings --enkodaj = s yourfilename

Nan lòd ki anwo a, mwen te espesifye "s" default la ki vle di 7 bit byte. Senpleman ranplase "s" la avèk lèt ​​kodaj nan chwa ou.

Chanje Non Binè Deskripsyon File la

Ou ka chanje konpòtman an nan strings pou ke li itilize yon diferan bibliyotèk bibliyotèk deskriptè lòt pase yon sèl la bay pou sistèm ou an.

Sa a switch se youn pou ekspè yo. Si ou gen yon lòt bibliyotèk yo itilize lè sa a ou ka fè sa pa kouri lòd sa yo strings:

strings -T bfdname

Opsyon Lekti nan yon dosye

Si ou pral sèvi ak opsyon yo menm chak fwa Lè sa a, ou pa vle gen presize tout switch yo chak fwa ou kouri lòd la paske li pran tan.

Ki sa ou ka fè se kreye yon dosye tèks lè l sèvi avèk nano ak presize opsyon ki nan dosye sa a.

Pou eseye sa a soti nan yon tèminal kouri lòd sa a:

nano stringsopts

Nan dosye a antre nan tèks sa a:

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

Sove dosye a pa peze CTRL ak O ak sòti pa peze CTRL ak X.

Kouri kòmandman yo strings ak opsyon sa yo kouri lòd sa a:

strings @ stringsopts yourfilename

Opsyon yo pral li soti nan stringsopts yo dosye epi ou ta dwe wè fichier a anvan chak fisèl, konpanse ak "|" kòm yon separator.

Jwenn èd

Si ou vle li plis sou strings ou ka kouri lòd sa a pou jwenn èd.

strings - ede

Altènativman ou ka li tou paj la manyèl:

nonm strings

Chache konnen ki vèsyon nan kòd ou ap kouri

Pou jwenn vèsyon an nan strings ou kouri kouri youn nan kòmandman sa yo:

strings -v

strings -V

strings --version