Kako prikazati likove ispisane datoteke pomoću naredbe Strings

Jeste li ikad pokušali otvoriti datoteku samo u uređivaču da biste saznali da sadrži neobrađeno binarni sadržaj?

Naredba Linux "žice" omogućuje pregled ljudski čitljivih znakova unutar bilo koje datoteke.

Glavna svrha korištenja naredbe "žice" jest razlučiti koju vrstu datoteke koju gledate, ali ga također možete koristiti za izdvajanje teksta. Na primjer, ako imate datoteku iz vlasničkog programa koji sprema datoteke u neobičan binarni format, možete koristiti "nizove" kako biste izdvojili tekst koji ste stavili u datoteku.

Primjer upotrebe zapovjedne trake

Sjajan način pokazivanja snage zapovjedne naredbe jest stvaranje dokumenta pomoću LibreOffice Writera.

Jednostavno otvorite LibreOffice Writer i unesite neki tekst, a zatim ga spremite u standardnom ODT formatu .

Sada otvorite prozor terminala (istodobno pritisnite CTRL, ALT i T), a zatim pomoću naredbe mačka prikazati datoteku na sljedeći način:

mačka tvojfilename.odt | više

(Zamijenite yourfilename.odt s nazivom datoteke koju ste stvorili)

Ono što ćete vidjeti je čitav zid nečitljivog teksta.

Pritisnite razmaknicu da biste se pomicali kroz datoteku. Sporadski tijekom cijele datoteke vidjet ćete dio teksta koji ste unijeli.

Naredba niza može se koristiti za prikaz samo dijelova koji su čitljivi ljudi.

U svom najjednostavnijem obliku možete pokrenuti sljedeću naredbu:

žice yourfilename.odt | više

Kao i prije, pojavit će se zid teksta, ali samo tekst koji možete čitati kao čovjeka. Ako ste sretni onda ćete moći vidjeti svoj tekst.

Ono što ćete moći vidjeti je ključno, međutim, u prvom retku:

mimetypeapplication / vnd.oasis.opendocument.text

Znamo da je vrsta datoteke LibreOffice Writer ODT datoteka iz 2 razloga:

  1. Stvorili smo datoteku
  2. Proširenje je .ODT

Zamislite da niste stvorili datoteku ili ste pronašli datoteku na oporavljenom disku i datoteka nije imala produžetak.

Obnova sustava Windows često bi oporavila datoteke s imenima poput 0001, 0002, 0003 itd. Činjenica da su datoteke oporavljene je odlično, ali pokušavajući otkriti koje su vrste tih datoteka bile noćna mora.

Upotrebom nizova imate priliku za borbu za oblikovanje vrste datoteke. Znajući da je datoteka opendocument.text datoteka znači da ga možete spremiti s ODT ekstenzijom i otvoriti ga u LibreOffice pisac.

U slučaju da niste bili svjesni da je ODT datoteka u osnovi komprimirana datoteka. Ako promijenite ime yourfilename.odt u yourfilename.zip, možete ga otvoriti u alatu za arhiviranje pa čak i otvoriti raspakirajte datoteku.

Alternativna ponašanja

Prema zadanim postavkama naredba stringa vraća sve nizove unutar datoteke, ali možete prebaciti ponašanje tako da vraća nizove iz inicijaliziranih, učitanih dijelova podataka u datoteci.

Što to točno znači? Čini se da nitko ne zna.

Ima smisla pretpostaviti da koristite žice da biste pokušali otkriti vrstu datoteke ili potražiti određeni tekst u datoteci.

Ako prilikom pokretanja naredbe za nizove pomoću zadanog ponašanja ne dobijete izlaz koji ste se nadali, pokušajte pokrenuti jednu od sljedećih naredbi da biste vidjeli čini li to razlika:

žice -d vašegfilename

žice - podaci vašefilename

Ručna stranica navodi da gore navedena naredba može pomoći da se smanji količina smeća koja se vraća iz žice.

Naredba "žice" može se postaviti tako da radi obrnuto, tako da je minus d preklopnik zadano ponašanje. Ako je to slučaj na vašem sustavu, možete vratiti sve podatke pomoću sljedeće naredbe:

nizove - vašeg profila

Oblikovanje izlaza

Možete dobiti tekst unutar izlaza kako biste prikazali naziv datoteke uz svaki redak teksta.

Da biste to učinili, pokrenite jednu od sljedećih naredbi:

žice -f vašegfinalnog imena

nizovi --print-file-name yourfilename

Izlaz će sada izgledati ovako:

svojfilen: dio teksta

Yourfilename: još jedan tekst

Kao dio izlaza također možete prikazati pomak gdje se taj tekst pojavljuje u datoteci. Da biste to učinili, pokrenite sljedeću naredbu:

nizove - vašegfinalnog imena

Izlaz će izgledati ovako:

16573 tvoj

17024 tekst

Offset je zapravo oktalni pomak, iako ovisno o tome kako su sastavljene nizove za vaš sustav, lako bi mogao biti hex ili decimalni offset.

Precizniji način dobivanja odstupanja je korištenje sljedećih naredbi:

strings -td yourfilename

žice - do vašeg profila

nizove - vašu filenames

Minus t znači vratiti offset, a znak koji slijedi određuje tip offseta. (tj. d = decimalni, o = oktalni, h = šesterokut).

Prema zadanim postavkama naredba strings ispisuje svaki novi niz na novom retku, ali možete postaviti delimeter po vašem izboru. Primjerice, da biste upotrijebili simbol cijevi ("|") kao graničnik pokrenite sljedeću naredbu:

nizovi "|" yourfilename

Podesite ograničenje za niz

Naredba niza prema zadanim postavkama traži niz od 4 znaka za ispis u retku. Možete podesiti zadane postavke tako da vraća samo niz s 8 znakova za ispis ili 12 znakova za ispis.

Podešavanjem ovog ograničenja možete prilagoditi izlaz kako biste dobili najbolji mogući rezultat. Pretraživanjem trake koja je preduga riskirate izostavljanje korisnog teksta, ali time što ćete biti prekratak, možda ćete se vratiti s puno više otpada.

Da biste prilagodili ograničenje niza, izvedite sljedeću naredbu:

nizove - n 8 vašefilename

U gornjem primjeru promijenio sam ograničenje na 8.

Možete zamijeniti 8 brojem po vlastitom izboru.

Također možete koristiti sljedeću naredbu za istu stvar:

nizovi --bytes = 8 vašfilename

Uključi razmak

Prema zadanim postavkama naredba za nizove sadrži prazni prostor kao što je kartica ili prostor kao znak za ispis. Stoga, ako imate niz koji glasi kao "mačka je sjedila na stropu" tada će naredba niza vratiti cijeli tekst.

Prema zadanim postavkama znakove za nove retke i vraćanje kotača ne smatraju se znakovima za ispis.

Da biste dobili nizove za prepoznavanje novih znakova retka i vozač se vraća kao znak koji se može ispisivati ​​pokrenuti nizove na sljedeći način:

žice -w svojfilename

Promijeni kodiranje

Postoje 5 opcija kodiranja dostupne za uporabu sa žicama:

Zadana je 7 bit bajtova.

Za promjenu kodiranja pokrenite sljedeću naredbu:

žice - naziv vašeg filma

stringovi --encoding = s vašegfilename

U gornjoj je naredbi naveden zadani "s", što znači 7 bit bajtova. Jednostavno zamijenite "s" kodom za kodiranje po vašem izboru.

Promijenite naziv binarnog naziva datoteke

Možete promijeniti ponašanje nizova tako da koristi drugačiju biblioteku deskriptora binarnih datoteka, osim one koja je predviđena za vaš sustav.

Ovaj prekidač je jedan za stručnjake. Ako imate neku drugu knjižnicu, tada to možete učiniti tako da pokrenete naredbu s naredbama:

nizove -T bfdname

Mogućnosti čitanja iz datoteke

Ako ćete svaki put koristiti iste opcije, ne želite odrediti sve sklopke svaki put kad pokrenete naredbu jer to traži vremena.

Ono što možete učiniti je stvoriti tekstnu datoteku pomoću nano-a i odrediti opcije unutar te datoteke.

Da biste to isprobali unutar terminala, pokrenite sljedeću naredbu:

nano stringsopts

U datoteci unesite sljedeći tekst:

-f-o-n3-s "|"

Spremite datoteku pritiskom na CTRL i O i izađite pritiskom tipke CTRL i X.

Da biste pokrenuli naredbe niza s ovim opcijama pokrenite sljedeću naredbu:

žice @stringsopts yourfilename

Opcije će se pročitati iz stringsopts datoteka i trebali biste vidjeti naziv datoteke prije svakog niza, offset i "|" kao separator.

Dobivanje pomoći

Ako želite pročitati više o nizovima, možete pokrenuti sljedeću naredbu da biste dobili pomoć.

žice --pomoć

Alternativno možete pročitati i priručničku stranicu:

muških žica

Saznajte kojoj verziji žica koje pokrećete

Da biste pronašli verziju nizova kojima trčite, pokrenite jednu od sljedećih naredbi:

žice -v

žice -V

žice - verzija