Kā parādīt faila izdrukājamos rakstzīmes ar string komandu

Vai kādreiz esat mēģinājis atvērt failu redaktorā tikai, lai uzzinātu, ka tajā ir nesalasāms binārais saturs?

Komandas Linux stīgas ļauj apskatīt cilvēka lasāmas rakstzīmes jebkurā failā.

Galvenais komandu "string" izmantošanas mērķis ir noteikt, kāda veida failu tas ir, kuru jūs meklējat, bet to varat arī izmantot, lai iegūtu tekstu. Piemēram, ja jums ir patentētu programmu fails, kas saglabā failus dīvainā binārā formātā, varat izmantot "virknes", lai izvilktu ievadīto failu.

Rindu komandas izmantošanas piemērs

Lielisks veids, kā demonstrēt strings komandas spēku, ir izveidot dokumentu, izmantojot LibreOffice Writer.

Vienkārši atveriet LibreOffice Writer un ievadiet kādu tekstu un pēc tam saglabājiet to standarta ODT formātā .

Tagad atveriet termināla logu (vienlaicīgi nospiediet taustiņus CTRL, ALT un T) un pēc tam izmantojiet komandu cat, lai parādītu failu šādi:

kaķis yourfilename.odt | vairāk

(Aizstāt yourfilename.odt ar izveidotā faila nosaukumu)

Tas, ko jūs redzēsiet, ir neskaidra teksta siena.

Nospiediet atstarpes taustiņu, lai ritinātu failu. Paradiski visā failā jūs redzēsiet kādu no ievadītajiem tekstiem.

Stīgu komandu var izmantot, lai parādītu tikai tās daļas, kuras ir lasāmas cilvēkiem.

Vienkāršākajā formā varat palaist šādu komandu:

strings yourfilename.odt | vairāk

Tāpat kā iepriekš, parādīsies teksta siena, bet tikai teksts, ko jūs varat lasīt kā cilvēku. Ja tev ir laimība, tu vari redzēt savu tekstu.

Tas, ko jūs redzēsiet, ir atslēga, tomēr pirmajā rindā:

mimetypeapplication / vnd.oasis.opendocument.text

Mēs zinām, ka faila tips ir LibreOffice Writer ODT fails 2 iemeslu dēļ:

  1. Mēs izveidojām failu
  2. Paplašinājums ir .ODT

Iedomājieties, ka neesat izveidojis failu vai esat atradis failu atgūtā diskā, un failā nav paplašinājuma.

Windows atkopšana bieži atgūst failus ar nosaukumiem, piemēram, 0001, 0002, 0003 utt. Fakts, ka faili tika atkopti, ir lieliski, bet mēģina izdomāt, kādi šo failu veidi bija murgs.

Izmantojot virknes, jums ir cīņa par faila tipa izstrādi. Zinot, ka fails ir opendocument.text fails, varat to saglabāt ar ODT paplašinājumu un atvērt to LibreOffice rakstītājā.

Ja jūs nezināt, ODT fails būtībā ir saspiestā fails. Ja jūs pārdēvējat yourfilename.odt uz yourfilename.zip, varat to atvērt arhivēšanas rīkā un pat atvērt failu.

Alternatīvas uzvedības

Pēc noklusējuma rindu komanda atdod visas strāvas failā, bet jūs varat mainīt uzvedību tā, ka tā atdod virknes no sākotnēji ielādētajām datu sadaļām failā.

Ko tas tieši nozīmē? Neviens, šķiet, nezina.

Ir loģiski pieņemt, ka jūs izmantojat virknes, lai izmēģinātu vai nu uzzinātu faila tipu, vai arī meklētu konkrētu tekstu failā.

Ja, palaižot virknes komandu, izmantojot noklusējuma darbību, jūs nesaņemat izlaidi, kuru jūs cerēja, un pēc tam mēģiniet izpildīt kādu no šīm komandām, lai redzētu, vai tas mainās:

virknes -d jūsufilename

stīgas -data yourfilename

Rokaslapā ir norādīts, ka iepriekš minētā komanda var palīdzēt samazināt virknē atgriezto atkritumu daudzumu.

Komandu "strings" var iestatīt, lai darbotos pretējā virzienā, lai mīnus d slēdzis būtu noklusējuma darbība. Ja tas ir jūsu sistēmā, jūs varat atgriezt visus datus, izmantojot šo komandu:

virknes - jūsu fails

Formatēšanas izlaide

Jūs varat iegūt tekstu izvadā, lai parādītu faila nosaukumu blakus katrai teksta rindai.

Lai to izdarītu, izpildiet kādu no šīm komandām:

stīgas -f yourfilename

virknes --print-file-name yourfilename

Rezultāts tagad izskatīsies šādi:

yourfilename: teksta gabals

yourfilename: vēl viena teksta daļa

Kā daļa no produkcijas jūs varat arī parādīt kompensāciju par to, kur šis teksts parādās failā. Lai to izdarītu, izpildiet šādu komandu:

stīgas-yourfilename

Izvade izskatīsies šādi:

16573 tava

17024 teksts

Kompensācija faktiski ir astotais nobīde, lai gan atkarībā no tā, kā virknes ir apkopotas jūsu sistēmā, tas var būt viegli arī sešpadsmitais vai decimāldaļskaitlis.

Precīzāks veids, kā iegūt vajadzīgo nobīdi, ir izmantot šādas komandas:

virknes -td yourfilename

strings-tofilename

virknes -th yourfilename

Minuss t nozīmē atgriešanās nobīdi un nākamais raksturs nosaka kompensācijas veidu. (ti, d = decimāls, o = oktāls, h = hex).

Pēc noklusējuma rindu komanda izdrukā katru jauno rindiņu jaunā rindiņā, bet jūs varat iestatīt izvēles rūtiņu. Piemēram, lai izmantotu caurules simbolu ("|") kā delimiter, palaidiet šādu komandu:

virknes -s "|" Jūsu vārds

Pielāgojiet stīgu ierobežojumu

Struktūras komanda pēc noklusējuma atrod virkni no 4 drukājamām rakstzīmēm pēc kārtas. Jūs varat noregulēt noklusējuma vērtību, lai tā atdotu tikai virkni ar 8 drukājamām rakstzīmēm vai 12 drukājamām rakstzīmēm.

Pielāgojot šo ierobežojumu, jūs varat pielāgot izvadi, lai iegūtu vislabāko iespējamo rezultātu. Raugoties uz pārāk ilgu virkni, jūs riskējat izlaist noderīgu tekstu, bet, padarot to pārāk īsu, jūs varētu nonākt ar daudz vairāk neveiksmīgu atgriešanos.

Lai pielāgotu virknes limitu, izpildiet šādu komandu:

virknes -n 8 yourfilename

Iepriekš minētajā piemērā esmu mainījis ierobežojumu līdz 8.

Jūs varat nomainīt 8 ar savu izvēlēto numuru.

Varat arī izmantot šo komandu, lai veiktu to pašu:

virknes - biti = 8 yourfilename

Iekļaut atstarpi

Pēc noklusējuma virknes komanda ietver atstarpes, piemēram, cilni vai atstarpi, kā drukājamu rakstzīmi. Tāpēc, ja jums ir virkne, kas tiek attēlota kā "kaķis sēdēja uz paklāja", tad virknes komanda atgriezīs visu tekstu.

Pēc noklusējuma jaunās rindas rakstzīmes un rullīšu atgriešanās netiek uzskatītas par drukājamām rakstzīmēm.

Lai iegūtu virknes, lai atpazītu jaunas līnijas rakstzīmes, un carriage atgriež kā izdrukājamu rakstzīmju palaist virknes šādi:

virknes -w yourfilename

Mainīt kodējumu

Ir pieejamas 5 kodēšanas iespējas, kuras var izmantot ar virknes:

Noklusējums ir 7 bitu baits.

Lai mainītu kodējumu, izpildiet šādu komandu:

virknes - jūsu fails

virknes --encoding = s yourfilename

Iepriekš norādītajā komandā esmu norādījis noklusējuma s, kas nozīmē 7 bitu baitu. Vienkārši nomainiet "s" ar izvēlēto kodēšanas burtu.

Mainīt Binārā faila nosaukuma nosaukumu

Jūs varat mainīt virkņu darbību, lai tā izmantotu citu bināro failu deskriptoru bibliotēku, izņemot to, kas paredzēta jūsu sistēmai.

Šis slēdzis ir viens ekspertiem. Ja jums ir vēl viena bibliotēka, tad to var izdarīt, palaižot šādu virknes komandu:

stīgas-T bfdname

Lasīšanas opcijas no faila

Ja katru reizi izmantosiet tās pašas opcijas, tad nevēlaties, lai katru reizi, kad palaižat komandu, būtu jānorāda visi slēdži, jo tas prasa laiku.

Ko jūs varat darīt, ir izveidot teksta failu, izmantojot nano, un norādiet tajā esošās opcijas.

Lai to izmēģinātu, izmantojot terminālu, palaidiet šādu komandu:

nano stringsopts

Failā ievadiet šādu tekstu:

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

Saglabājiet failu, nospiežot CTRL un O, un izejiet, nospiežot CTRL un X.

Lai palaistu virknes komandas ar šīm opcijām, izpildiet šādu komandu:

virknes @ stringsopts yourfilename

Opcijas tiks lasītas no faila stringsopts, un jums vajadzētu redzēt faila nosaukumu pirms katras virknes, nobīde un "|" kā atdalītājs.

Palīdzības saņemšana

Ja vēlaties lasīt vairāk par virknes, varat palaist šādu komandu, lai saņemtu palīdzību.

virknes - palīdzība

Varat arī izlasīt rokasgrāmatas lapu:

cilvēks stīgas

Noskaidrojiet, kuru strīdu versiju jūs izmantojat

Lai atrastu virkņu versiju, kuru jūs izmantojat, izpildiet kādu no šīm komandām:

stīgas -v

stīgas -V

virknes --versija