GNU/Linux >> Znalost Linux >  >> Linux

Existuje Windows ekvivalent příkazu Unix strings?

Není (AFAIK) vestavěný, ale je k dispozici od SysInternals (živý odkaz). řetězce SysInternals není přímý port unixového nástroje; byl napsán tak, aby našel řetězce Unicode i ASCII:

Práce na NT a Win2K znamená, že spustitelné soubory a objektové soubory budou mít mnohokrát vložené řetězce UNICODE, které u standardních řetězců ASCII nebo programů grep snadno nevidíte.


Věřím, že MinGW obsahuje Windows verzi GNU binutils, která zase obsahuje strings program. Můžete to zkusit.


Rychlé jednoduché řešení:

more < FILE_PATH.exe | findstr "."

Tím se vytisknou všechny řetězce z libovolného souboru (s trochou nevyžádaného odpadu), oddělené novým řádkem.

Ve skutečnosti se stane more < FILE_PATH.exe vytiskne ASCII pohled na FILE_PATH.exe do konzole a findstr "." filtruje vše, co není řetězec (definujte minimální délku přidáním více '.', např. findstr "....." bude filtrovat pouze řetězce délky 5+).

strings -n 4 FILE_PATH => more < FILE_PATH | findstr "...."

strings -n 8 FILE_PATH => more < FILE_PATH | findstr "........"

A samozřejmě můžete použít findstr k vytvoření přesnějšího filtru (viz findstr /? )


Linux
  1. Jak funguje příkaz Exit na Unixovém terminálu?

  2. Linux ekvivalent příkazu otevřít Mac OS X

  3. Existuje ve světě Linuxu ekvivalent k .Net FileSystemWatcher?

  1. Skryjte skryté soubory Linuxu ve Windows

  2. Sledovat, jak dlouho trvá příkaz v UNIX/LINUX?

  3. Co je Windows analogem příkazu watch v systému Linux?

  1. Windows PowerShell ekvivalentní Unix/Linux `pwd`?

  2. Jaký je ekvivalent linuxového ~ (tilda) ve Windows?

  3. Jak fungují volby '-s', '-t' a '-c' příkazu tr v Unixu?