Како да се прикажат знаци за печатење на датотеката со командата за низи

Дали некогаш сте се обиделе да отворите датотека во уредувач само за да дознаете дека содржи нечитлива бинарна содржина?

Командата на Linux "стрингови" ви овозможува да ги прегледате човечки читливите знаци во која било датотека.

Главната цел на користењето на командата "стрингови" е да се утврди каков тип на датотека е во потрага, но исто така можете да го користите за да го извлечете текстот. На пример, ако имате датотека од комерцијална програма која ги зачувува датотеките во чуден бинарен формат, можете да користите "стрингови" за да го извадите текстот што го внесувате во датотеката.

Пример за користење на командата за низи

Одличен начин да се демонстрира моќта на командата за стрингови е да создадете документ користејќи LibreOffice Writer.

Едноставно отворете LibreOffice Writer и внесете некој текст, а потоа зачувајте го во стандардниот ODT формат .

Сега отворете терминален прозорец (истовремено притиснете CTRL, ALT и T), а потоа користете ја командата cat за прикажување на датотеката на следниов начин:

cat yourfilename.odt | повеќе

(Заменете го yourfilename.odt со името на датотеката што сте ја креирале)

Она што ќе го видите е целиот ѕид на нечитлив текст.

Притиснете на spacebar за да се движите низ датотеката. Спорадично низ целата датотека ќе видите дел од текстот што го внесовте.

Командата за стрингови може да се користи за прикажување само на деловите кои се човечки читливи.

Во својата наједноставна форма можете да ја извршите следната команда:

стрингови yourfilename.odt | повеќе

Како и претходно, ќе се појави ѕид од текст, но само текст што ќе можете да го прочитате како човек. Ако сте среќни, тогаш ќе можете да го видите вашиот текст.

Меѓутоа, она што ќе биде во можност да видите дека е клуч, е на првата линија:

mimetypeapplication / vnd.oasis.opendocument.text

Знаеме дека типот на датотека е датотека LibreOffice Writer ODT од две причини:

  1. Ние ја создадовме датотеката
  2. Проширувањето е .ODT

Замислете дека не сте ја создале датотеката или сте ја пронајделе датотеката на обновен диск и датотеката немаше продолжување.

Обновувањето на Windows честопати ќе ги обнови датотеките со имиња како 0001, 0002, 0003 итн. Фактот дека датотеките беа обновени е одлично, но се обидува да открие какви видови на овие датотеки беа кошмар.

Со користење на стрингови имаш шанса за борба против тип на датотека. Знаејќи дека датотеката е датотека opendocument.text значи дека можете да ја зачувате со продолжување на ODT и да ја отворите во LibreOffice писател.

Во случај да не сте свесни дека датотеката ODT е во основа компресирана датотека. Ако преименувате yourfilename.odt на yourfilename.zip можете да го отворите во алатка за архивирање, па дури и да ја отпакувате датотеката.

Алтернативни однесувања

Стандардната команда на стрингови ги враќа сите низи во рамките на датотеката, но може да го смените однесувањето, така што ги враќа низите од иницијализираните, вчитани делови од податоци во датотека.

Што точно значи ова? Никој не изгледа да знае.

Има смисла да се претпостави дека користите стрингови за да се обидете или да го дознаете типот на датотеката или да барате одреден текст во датотека.

Ако при извршување на командата на стрингови користејќи го стандардното однесување не го добивате излезот за кој се надевавте, тогаш пробајте да ја извршите една од следниве команди за да видите дали таа прави разлика:

стрингови -d yourfilename

стрингови --data yourfilename

Во прирачникот се наведува дека горната команда може да помогне да се намали количината на ѓубре што се враќа од жиците.

Командата "стрингови" може да се постави за да работи обратно, така што минус d прекинувачот е стандардно однесување. Ако ова е случај на вашиот систем, тогаш можете да ги вратите сите податоци со помош на следнава команда:

стрингови -a yourfilename

Форматирање на излез

Можете да го добиете текстот во рамките на излезот за да го прикажете името на датотеката заедно со секоја линија на текст.

За да го направите ова извршете една од следниве команди:

стрингови -f yourfilename

стрингови --print-file-name yourfilename

Излезот сега ќе изгледа вака:

yourfilename: парче текст

yourfilename: друго парче текст

Како дел од излезот, исто така, може да се прикаже поместување каде што тој текст се појавува во датотека. За да го направите тоа, извршете ја следнава команда:

стрингови - за вашиот име

Излезот ќе изгледа вака:

16573 вашиот

17024 текст

Офсет е всушност октален поместување, иако во зависност од тоа како стрингот е компајлиран за вашиот систем, лесно може да биде хекс или децимален офсет.

Попрецизен начин за добивање на саканиот офсет е да ги користите следните команди:

стрингови-тв

стрингови - во вашиот име

стрингови -со вашиот име

Минусот t значи враќање на офсет и карактерот што следува го одредува типот на офсет. (т.е. d = децимали, o = октомври, h = хексадецимален).

Стандардно, командата за стрингови ја печати секоја нова низа на нова линија, но можете да го поставите разделител по ваш избор. На пример да се користи симбол на цевка ("|"), бидејќи раздвојувачот ја извршува следната команда:

стрингови -s "|" yourfilename

Подесување на границата на

Командата за стрингови стандардно бара низа од 4 карактери за печатење по ред. Можете да го прилагодите стандардното, така што само ќе враќа стринг со 8 карактери за печатење или 12 карактери за печатење.

Со прилагодување на оваа граница, можете да го прилагодите излезот за да добиете најдобар можен резултат. Ако барате стринг што е премногу долг, ризикувате да испуштате корисен текст, но со тоа што е премногу краток, може да завршите со многу повеќе ѓубре што се враќа.

За да го прилагодите ограничувањето на низата, извршете ја следната команда:

стрингови -n 8 yourfilename

Во горенаведениот пример го сменив ограничувањето на 8.

Можете да замените 8 со бројот на вашиот избор.

Исто така можете да ја користите следнава команда за да го направите истото:

стрингови --bytes = 8 yourfilename

Вклучи празен простор

По дифолт, командата за стрингови вклучува празен простор, како што е јазиче или простор, како знак за печатење. Затоа, ако имате низа која се чита како "мачката седна на мат" тогаш командата на стрингови ќе го врати целиот текст.

Новите линии и карактерите не се сметаат за стандардни за печатење.

За да добиете стрингови за препознавање на нови линии и за враќање на карактерот како низа на линии за печатење, на следниов начин:

стрингови -w yourfilename

Промени го кодирањето

Постојат 5 опции за кодирање достапни за употреба со стрингови:

Стандардно е 7-битен бајт.

За да ја смените кодирањето, извршете ја следнава команда:

стрингови-е yourfilename

стрингови --кодирање = s yourfilename

Во горенаведената команда, јас ги наведов стандардните "s" што значи 7-битен бајт. Едноставно заменете го "s" со буквата за кодирање по ваш избор.

Промени го името на бинарниот фајл

Можете да го промените однесувањето на стрингови, така што ќе користи различна библиотека за дескриптори на бинарни датотеки, различни од онаа предвидена за вашиот систем.

Овој прекинувач е еден за експертите. Ако имате друга библиотека за користење тогаш можете да го направите со извршување на следната команда:

стрингови -T bfdname

Опции за читање од датотека

Ако сакате да ги користите истите опции секој пат, тогаш не сакате да ги наведете сите прекинувачи секој пат кога ја стартувате командата, бидејќи е потребно време.

Што можете да направите е да креирате текстуална датотека користејќи nano и да ги наведете опциите во таа датотека.

За да го пробате ова во рамките на терминалот, извршете ја следнава команда:

nano stringsopts

Во датотеката внесете следниов текст:

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

Зачувајте ја датотеката со притискање на CTRL и O и излез со притискање на CTRL и X.

За да ги извршите командите со низи со овие опции, извршете ја следнава команда:

стрингови @stringsopts yourfilename

Опциите ќе бидат прочитани од датотеката stringsopts и треба да го видите името на датотеката пред секој стринг, офсет и "|" како сепаратор.

Добивање помош

Ако сакате да прочитате повеќе за стрингови, можете да ја извршите следната команда за да добиете помош.

жици - помош

Алтернативно, исто така можете да ја прочитате страницата за упатства:

човечки низи

Дознајте која верзија на стрингови ќе се извршувате

За да ја пронајдете верзијата на стрингови во кои работите, извршете една од следниве команди:

жици -v

жици -V

стрингови - верзија